Mysql lekérdezésnél miért nem találok meg egy-egy sort az adatbázisban?
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.
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.
#1: ez prepared statement, behelyettesiti mint egy valtozot, nezz utana mielott butasagokat beszelsz.
Kerdezo: passz, baj nincs vele, igy ez keves info. Irj peldat.
#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.
Vagyis. Bocsánat, van. DE annak más a használata:
$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.
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?
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!