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. BackupManagerを使用してデータベースを復元する方法

    2. PostgreSQL複合主キー

    3. MySQL:行数をカウントする最速の方法

    4. MySQL-アルファベット順で最初に来る名前を選択します