Mysql
 sql >> база данни >  >> RDS >> Mysql

mysql_fetch_assoc() грешка при промяна на данните в полето mysql

Не правите никаква проверка за грешки във вашата заявка, така че не е чудно, че тя се повреди, ако заявката е неуспешна. Как да добавите правилна проверка за грешки е описано в ръководството за mysql_query() или в този референтен въпрос.

Пример:

$result = mysql_query($SQL);

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

вашата заявка се поврежда, защото не опаковате входа в кавички. Можете да избегнете* кавички само за цели числа (които 62ac1175 не е). Опитайте

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

Освен това кодът, който показвате, е уязвим към SQL инжектиране . Използвайте правилния метод за хигиенизиране на вашата библиотека (като mysql_real_escape_string() за класическата mysql библиотека, която използвате), или превключете към PDO и подготвени изрази.

Във вашия код това ще изглежда така:Вместо

$URL_ID = $_GET["a"];

направи

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

* обаче, ако избягвате кавички, mysql_real_escape_string() няма да работи и трябва да проверите ръчно дали параметърът всъщност е цяло число.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да намерите топ 3 на върха на всеки предмет в дадена таблица

  2. Как да извлека JSON данни от MySQL?

  3. MySQL EXPLAIN:Използване на индекс срещу използване на условие за индекс

  4. MySQL и заключете таблица, прочетете и след това съкратете

  5. Разбиране на pdo mysql транзакции