Kezdőoldal » Számítástechnika » Programozás » Mysql lekérdezésnél miért nem...

Mysql lekérdezésnél miért nem találok meg egy-egy sort az adatbázisban?

Figyelt kérdés

Pl.


SELECT id FROM genre WHERE name = :genre


És nem találja meg, még ha látszólag tökéletesen meg is egyeznek, szóközök tekintetében is.


LIKE esetén ugyanez a helyzet.


Saját tábla: UTF-8 unicode_ci kódolás,


facebook graph lekérdezésnél jelentkezik a probléma.



2015. okt. 22. 07:16
 1/8 anonim ***** válasza:
0%

Hali.

Kezdjük ott, hogy MySQL-ben ez nem létezik: ":genre" mármint kettősponttal valami új funkcionalitás nem társul.


Amit te leírtál az: Kilistázta az id értékeket a genre táblából, azokét akiknek a neve rekordjában ":genre" név szerepel.


Mivel ilyen nincs, így nem is tesz ki semmit. Talált sorok száma: 0.

Így érthető. hogy ha Like után írod ugyanazt, ugyanott tartunk.

2015. okt. 22. 08:43
Hasznos számodra ez a válasz?
 2/8 anonim ***** válasza:

#1: ez prepared statement, behelyettesiti mint egy valtozot, nezz utana mielott butasagokat beszelsz.


Kerdezo: passz, baj nincs vele, igy ez keves info. Irj peldat.

2015. okt. 22. 09:01
Hasznos számodra ez a válasz?
 3/8 anonim ***** válasza:
34%

#2 néz utána mielőtt butaságokat beszélsz.


A Prepared Statements az egyes programnyelvek adják amik kisegítik a fejlesztőket egyes SQL lekérdezéseknél.

MySQL-ben azaz tisztán SQL ként, ilyen nincs.

2015. okt. 22. 10:56
Hasznos számodra ez a válasz?
 4/8 anonim ***** válasza:
34%

Vagyis. Bocsánat, van. DE annak más a használata:

[link]

2015. okt. 22. 10:58
Hasznos számodra ez a válasz?
 5/8 A kérdező kommentje:

$query = "SELECT id FROM genre WHERE name = :gerne;

$para[':genre'] = "rock and roll"; // persze itt nyilván változóval adom meg az értéket :)

$set = $pdo -> connection -> prepare($query);

$set -> execute($para);

$result = $set -> fetchAll();


Na és sokszor nincs eredmény. Néha ha kézzel átírom a táblát akkor jó, de néha még úgy sem működik. Mindegy, majd kitalálok valamit, csak gondoltam hogy talán ez valami jellemző hiba ami a karakterkódolásokkal függ össze.

2015. okt. 22. 12:56
 6/8 A kérdező kommentje:
persze most csak elírtam a lekérdezésben a paramétert. :)
2015. okt. 22. 12:56
 7/8 anonim ***** válasza:

Szerintem fölösleges azon vitatkozni, hogy a prepared statement a lekérdezőnyelv vagy a programozási nyelv tulajdona, aki meg akarta érteni, az felfogta, hogy miről van szó és nem kötözködik a ':genre' notation miatt.


Kérdező: Ilyenkor dob valami hibaüzenetet vagy csak egy üres arrayt ad vissza?

2015. okt. 23. 13:46
Hasznos számodra ez a válasz?
 8/8 A kérdező kommentje:
#7 nem mindig iratom ki a hibaüzenetet, kipróbálom amikor hazaérek! :)
2015. okt. 28. 11:09

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!