sql >> Databasteknik >  >> RDS >> Mysql

Det går inte att söka efter frågor i MySQL-tabellen

Det är flera saker som är fel med sättet du gör detta på.

För det första citerar du inte ditt värde:'$key'

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

För det andra är din kod vidöppen för SQL-injektion. Undvik ditt värde:

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

Koden ovan är det absoluta minimum du behöver göra.
Nästa sak är att mysql_ funktioner har föråldrats länge och har tagits bort i PHP 7.

Du måste byta till antingen mysqli_ eller PDO . Ju tidigare du byter, desto bättre. Läs den här frågan för mer information:Hur kan jag förhindra SQL-injektion i PHP?

Bortsett från alla problemen ovan, kommer du att bespara dig själv (och ännu mer så andra, om de någonsin måste läsa din kod) en del huvudvärk om du aldrig använder sökord och reserverade ord som tabell- eller kolumnnamn, som Jay Blanchard har noterat.



  1. $_POST-variabler fungerar inte med $_FILES och multipart/form-data

  2. Förbisedda T-SQL-ädelstenar

  3. Infoga och hämta data i MySQL med PHP genom Ajax

  4. Postgres:Ordna efter strängkolumn med kända värden