( andrej_ | 2011. 08. 29., h – 14:52 )

Érdemesebb a mysqli-t használni (pl. a mysqli_connect-nek rögtön lehet adatbázist is mondani), mert egy fokkal okosabb és a mysql_real_escape_string függvényt se spórold le a lekérdezésből. Ha php5.3 akkor pedig a mysql-nd nevű új class-t.

Ha már egy $mezonev = $_POST['mezonev'] értékadást beteszel, akkor alaszinten ellenőrizni is kellene azt a szerencsétlen POST változót (különös tekintettel példul a % jelre, hogy az ne legyen) és hogy legyen valami minimális és maximális hossza. Kliensről jövő értékben sose bízz!

A felhasználó (és a szerver) életét érdemes azzal megkönnyíteni hogy a kirívóan hibás form (pl. nincs semmi kiválasztva, üres mező) esetén javascripttel adsz vissza valami használható hibát. Ez semmiképp sem helyettesíti a szerver oldali ellenőrzést!

További tipp, hogy valamennyire kezeld a hibákat. A mutatott kódnál a $result-ra egy ilyesmi elég hasznos lehet:


if($result == true) {
   if(mysql_num_rows($result) > 0 {
      while...;
   }
   else {
      print "A keresési feltételnek nincs megfelelő rekord!";
   }
}
else {
   print 'Hiba történt a lekérdezés végrehajtásakor!';
}