Návrh mysql_query
funkce je taková, že musíte být opatrní, abyste unikli každému kousku dat, který do něj vkládáte, a pokud vynecháte byť jen jedno, může být celá vaše aplikace zničena automatický nástroj pro zneužívání zranitelnosti SQL
.
Oba mysqli
a zástupné symboly podpory PDO, které jsou povinné abyste zajistili, že vaše dotazy budou v bezpečí před chybami SQL injection. Volání mysql_real_escape_string
ve všem je nejen zdlouhavé, ale také náchylné k chybám, a to je místo, kde vznikají problémy.
mysql
funkce jsou produktem velmi raných dnů PHP a jsou výrazně omezenější než nové objektově orientované funkce nabízené oběma mysqli
jako možnost nebo CHOP podle návrhu.
Existuje řada velmi dobrých důvodů, proč používat jedno z těchto dvou nových rozhraní, ale nejdůležitější je, že mysql_query
Tato funkce je prostě příliš nebezpečná pro použití v produkčním kódu. S ním budete vždy jednu chybu od velmi vážných problémů.
Existuje důvod, proč se neustále objevují trhliny v databázích plných hesel a čísel kreditních karet. Díky jasnému bodu vložení SQL je téměř příliš snadné zcela převzít web.