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

MySQL löscht keine Datensätze

Lernen Sie die grundlegende PHP-String-Syntax:

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

Sie generieren die wörtliche Abfragezeichenfolge

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

Beachten Sie, wie Ihr schlechter Versuch der PHP-String-Verkettung tatsächlich Teil des Abfrage-Strings wurde. Sie sind bereits IN ein PHP-String, also können Sie PHP nicht innerhalb dieses Strings ausführen - PHP ist nicht rekursiv einbettbar/ausführbar.

Beides würde funktionieren:

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

aber machen Sie natürlich immer noch anfällig für SQL-Injection-Angriffe .