sql >> Database teknologi >  >> RDS >> Mysql

Kan ikke søge forespørgsler i MySQL-tabel

Der er flere ting galt med den måde, du gør dette på.

For det første citerer du ikke din værdi:'$key'

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

For det andet er din kode åben for SQL-injektion. Undslippe din værdi:

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

Koden ovenfor er det absolutte minimum, du skal gøre.
Den næste ting er, at mysql_ funktioner er blevet forældet i lang tid og er blevet fjernet i PHP 7.

Du skal skifte til enten mysqli_ eller PDO . Jo før du skifter, jo bedre. Læs venligst dette spørgsmål for yderligere information:Hvordan kan jeg forhindre SQL-injektion i PHP?

Bortset fra alle ovenstående problemer sparer du dig selv (og endnu mere andre, hvis de nogensinde skal læse din kode) for hovedpine, hvis du aldrig bruger søgeord og reserverede ord som tabel- eller kolonnenavne, som Jay Blanchard har bemærket.



  1. MySQL:få MAX eller GREATEST af flere kolonner, men med NULL-felter

  2. Sådan rettes "COMMIT TRANSACTION-anmodningen har ingen tilsvarende BEGIN TRANSACTION" i SQL Server

  3. Database tabelnavne med Django

  4. Hvad er forskellen mellem en hash join og en merge join (Oracle RDBMS)?