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

MySQL не изтрива записи

Научете основния синтаксис на PHP низове:

$sql = "DELETE FROM sv_info WHERE id='.$id.' LIMIT 1";
       ^--start of PHP string                       ^---end of PHP string

Вие генерирате литералния низ за заявка

DELETE FROM sv_info WHERE id='.4.' LIMIT 1

Обърнете внимание как вашият лош опит за конкатенация на PHP низове всъщност стана част от низа на заявката. вече сте IN php низ, така че не можете да изпълнявате PHP вътре в този низ - PHP не е рекурсивно вграждаем/изпълним.

Всяко от тези ще работи:

$sql = "DELETE FROM sv_info WHERE id='$id' LIMIT 1";
$sql = "DELETE FROM sv_info WHERE id='" . $id . "' LIMIT 1";

но разбира се, все пак ви оставят уязвими за sql инжектиране атаки .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL тригер за актуализиране на поле до стойността на id

  2. Neo4j - Създайте ограничение с помощта на Cypher

  3. Проблем с UTF8 кодиране - с добри примери

  4. Как да извлека няколко реда от съхранената процедура в MySQL?

  5. Компилиране на PHP 5.1.6 с PDO MySQL