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

Chyba mysql_fetch_assoc() při změně dat v poli mysql

Ve svém dotazu neprovádíte žádnou kontrolu chyb, takže není divu, že se v případě selhání dotazu přeruší. Jak přidat správnou kontrolu chyb je popsáno v příručce k mysql_query() nebo v tomto referenční otázka.

Příklad:

$result = mysql_query($SQL);

if (!$result)
 { trigger_error("mySQL error: ".mysql_error());
   die(); }

váš dotaz je přerušený, protože nezalamujete vstup do uvozovek. Uvozovkám* se můžete vyhnout pouze u celých čísel (což 62ac1175 není). Zkuste

$SQL = "SELECT * FROM tb_employees WHERE URL_ID = '$URL_ID'";

Kód, který zobrazujete, je také zranitelný vůči vkládání SQL . Použijte správnou metodu sanitace vaší knihovny (jako mysql_real_escape_string() pro klasickou mysql knihovnu, kterou používáte), nebo přepněte na PDO a připravené příkazy.

Ve vašem kódu by to vypadalo takto:Místo

$URL_ID = $_GET["a"];

udělat

$URL_ID = mysql_real_escape_string($_GET["a"]);

* pokud se však vyhnete uvozovkám, mysql_real_escape_string() nebude fungovat a musíte ručně zkontrolovat, zda je parametr skutečně celé číslo.




  1. Hash MD5 MySQL je nesprávný

  2. Pole časového razítka v django

  3. #1146 -Tabulka XXXX neexistuje

  4. PostgreSQL dotaz WHERE datum je starší než 3 roky