Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql_fetch_assoc()-Fehler, wenn Daten im mysql-Feld geändert werden

Sie führen keine Fehlerprüfung in Ihrer Abfrage durch, daher ist es kein Wunder, dass sie abbricht, wenn die Abfrage fehlschlägt. Wie man die richtige Fehlerprüfung hinzufügt, ist im Handbuch zu mysql_query() beschrieben oder in diesem Referenzfrage.

Beispiel:

$result = mysql_query($SQL);

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

Ihre Abfrage bricht, weil Sie die Eingabe nicht in Anführungszeichen setzen. Sie können Anführungszeichen* nur für ganze Zahlen vermeiden (die 62ac1175 ist nicht). Versuchen Sie es

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

Außerdem ist der von Ihnen gezeigte Code anfällig für SQL-Injektion . Verwenden Sie die richtige Bereinigungsmethode Ihrer Bibliothek (wie mysql_real_escape_string()). für die klassische mysql-Bibliothek, die Sie verwenden), oder wechseln Sie zu PDO und vorbereiteten Anweisungen.

In Ihrem Code würde das so aussehen:Statt

$URL_ID = $_GET["a"];

tun

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

* jedoch, wenn Sie Anführungszeichen vermeiden, mysql_real_escape_string() funktioniert nicht und Sie müssen manuell prüfen, ob der Parameter tatsächlich eine Ganzzahl ist.