Jest kilka wad w sposobie, w jaki to robisz.
Po pierwsze, nie cytujesz swojej wartości:'$key'
$query = "SELECT * FROM `keys` WHERE `key` = '$key'";
Po drugie, Twój kod jest szeroko otwarty na wstrzykiwanie SQL. Ucieknij od swojej wartości:
$key = mysql_real_escape_string($_GET["key"]);
Powyższy kod to absolutne minimum, które musisz zrobić.
Następną rzeczą jest to, że mysql_
funkcje były przestarzałe przez długi czas i zostały usunięte w PHP 7.
Musisz przełączyć się na mysqli_
lub PDO
. Im szybciej się zmienisz, tym lepiej. Przeczytaj to pytanie, aby uzyskać więcej informacji:Jak mogę zapobiec wstrzykiwaniu SQL w PHP?
Oprócz wszystkich powyższych problemów, zaoszczędzisz sobie (a tym bardziej innym, jeśli kiedykolwiek będą musieli przeczytać Twój kod) bólu głowy, jeśli nigdy nie użyjesz słowa kluczowe i słowa zastrzeżone jako nazwy tabel lub kolumn, jak zauważył Jay Blanchard.