sql >> Database >  >> RDS >> Mysql

Kan geen zoekopdrachten zoeken in de MySQL-tabel

Er zijn verschillende dingen mis met de manier waarop je dit doet.

Ten eerste vermeld je je waarde niet:'$key'

$query = "SELECT * FROM `keys` WHERE `key` = '$key'";

Ten tweede staat uw code wijd open voor SQL-injectie. Ontsnap aan je waarde:

$key = mysql_real_escape_string($_GET["key"]);

De bovenstaande code is het absolute minimum dat u moet doen.
Het volgende is dat de mysql_ functies zijn al lang verouderd en zijn verwijderd in PHP 7.

U moet overschakelen naar mysqli_ of PDO . Hoe eerder u overstapt, hoe beter. Lees deze vraag voor meer informatie:Hoe kan ik SQL-injectie in PHP voorkomen?

Afgezien van alle bovenstaande problemen, bespaart u uzelf (en nog meer anderen, als ze uw code ooit moeten lezen) hoofdpijn als u trefwoorden en gereserveerde woorden als tabel- of kolomnamen, zoals Jay Blanchard heeft opgemerkt.



  1. Een Oracle-database migreren naar MySQL op AWS, deel 1

  2. hoe een of meer velden bij te werken waarbij de lege velden worden genegeerd in de mysql-database?

  3. Hoe te GROEPEREN OP datum met een tijdstempelveld in Postgres?

  4. Waarschuwing:mysql_connect():[2002] Geen dergelijk bestand of map (probeert verbinding te maken via unix:///tmp/mysql.sock) in