sql >> Databáze >  >> RDS >> Mysql

Nelze vyhledávat dotazy v tabulce MySQL

Na způsobu, jakým to děláte, je několik věcí špatných.

Nejprve neuvádějte svou hodnotu:'$key'

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

Za druhé, váš kód je široce otevřený SQL injection. Unikněte své hodnotě:

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

Výše uvedený kód je absolutní minimum, které musíte udělat.
Další věcí je, že mysql_ funkce byly již dlouhou dobu zastaralé a v PHP 7 byly odstraněny.

Budete muset přepnout buď na mysqli_ nebo PDO . Čím dříve přejdete, tím lépe. Další informace najdete v této otázce:Jak mohu zabránit vkládání SQL v PHP?

Kromě všech výše uvedených problémů ušetříte sobě (a ještě více ostatním, pokud někdy budou muset číst váš kód) trochu bolesti hlavy, pokud nikdy nepoužijete klíčová slova a vyhrazená slova jako názvy tabulek nebo sloupců, jak poznamenal Jay Blanchard.



  1. mysql konektor cpp v centos 6 nedefinovaný odkaz na

  2. Jak prohledávat více sloupců v MySQL?

  3. Index databáze nerozlišuje malá a velká písmena?

  4. Jak rozdělit tabulku MySQL na základě sloupce znaků?