"0" kezdetu stringet nem kezel a select rendesen
Sziasztok,
olyan gondom van, hogy egy php scriptbol szeretnek lefuttatni egy mysql lekerdezest.
a kodreszlet:
"
$keres = "SELECT ksk, vpe, lenker,ipunkt, modul, seria, leir FROM modul WHERE ksk='$_GET[ksk]' order by modul";
$eredmeny = mysql_query($keres) or die("Hiba a kérésben");
"
ez le is fut rendesen amennyiben a "ksk" erteke nem 0 -val kezdodoik. A ksk varchar(7) tipusu mezo. A kerdesem az lenne, hogy miert ad vissza mysql_num_row() 0 erteket akkor ha ez a ksk='0xxxxxx'.
Ha beirom konzolon a lekerdezest, minden tovabbi nelkul mukodik. Megnezetm az atadott ertek jo. Kiiratva rendesen latszik, csak a lekerdezes vmiert 0 row -ot ad vissza.
Remelem ertheto voltam...
Elore is koszi.
Kisjaj
■ olyan gondom van, hogy egy php scriptbol szeretnek lefuttatni egy mysql lekerdezest.
a kodreszlet:
"
$keres = "SELECT ksk, vpe, lenker,ipunkt, modul, seria, leir FROM modul WHERE ksk='$_GET[ksk]' order by modul";
$eredmeny = mysql_query($keres) or die("Hiba a kérésben");
"
ez le is fut rendesen amennyiben a "ksk" erteke nem 0 -val kezdodoik. A ksk varchar(7) tipusu mezo. A kerdesem az lenne, hogy miert ad vissza mysql_num_row() 0 erteket akkor ha ez a ksk='0xxxxxx'.
Ha beirom konzolon a lekerdezest, minden tovabbi nelkul mukodik. Megnezetm az atadott ertek jo. Kiiratva rendesen latszik, csak a lekerdezes vmiert 0 row -ot ad vissza.
Remelem ertheto voltam...
Elore is koszi.
Kisjaj
Ellenőrzés nélküli változóbehelyettesítés?
Szerintem ezt nem szabad. Előszöris a _GET változókat ellenőrizni kell, akár mysql_(real_)escape_string() függvénnyel. Egyébként is, irasd ki a die()-al a kérést is, szerintem az lehet a hiba, hogy alapból számnak értelmezi a _GET-et, és levágja a nullákat az elejéről. Vagy valami más konverzió van, és nem az lesz a kérés, amit szeretnél.
---jul
trigger_error
Le kene mar szokni a die hasznalatarol. Hasznaljuk helyette a trigger_error fuggvenyt. Igy ha sajat hibakezelot hasznalunk, vagy fogunk a kesobbeik soran, akkor egysegesen tudjuk kezelni ezeket a hibakat.
Jo lenne szerintem, ha a manualban is inkabb ez szerepelne a peldakban.
Felho
esetleg...
[sö, az átalakítás során a kezdő nullát sikerül átalakítani egy nullás számmá, aztán a többivel meg már nem is próbálkodik]
amúgy is, ajánlott aposztrófos karaktersorozatok meg a pont (.) összefűző operátor használata; mely karakterláncokat fűz össze, vagyis mindkét operandust a bal- és jobboldalon is stringként kezeli.
$keres = 'SELECT ksk, vpe, lenker,ipunkt, modul, seria, leir FROM modul WHERE ksk=\''.$_GET['ksk'].'\' ORDER BY modul';
ami viszont biztos fényt derít a hibára az az, hogy megnézed mi a MySQL lekérdezés tart alma (
print($keres);
) illetve hibaüzenetet is érdemes az el olvasni (print(mysql_error());
)bbalint
Sziasztok, nos a "mys
nos a "mysql_escape_string()" megoldotta a gondot, most minden jol mukodik.
Koszonom a tanacsokat.
Üdv:
Kisjaj