sql >> データベース >  >> RDS >> Mysql

PHP / MySQL-SQL構文エラー?

    SQLクエリで送信する文字列をエスケープする必要があります。

    そのためには、 mysql_real_escape_stringを使用できます。 機能。

    たとえば、コードは次のようになります(テストされていませんが、このようなものでうまくいくはずです)

    $str = "abcd'efh";
    $sql_query = "insert into my_table (my_field) values ('" 
      . mysql_real_escape_string($str)
      . "')";
    $result = mysql_query($sql_query);
    


    別の解決策(ただし、より多くのコードを変更する必要があるため、より多くの作業が必要になります) プリペアドステートメントを使用することになるでしょう; mysqli_*のいずれかを使用します または PDO -ただし、古いmysql_*では不可能です 拡張機能。


    編集: これがうまくいかない場合は、質問を編集して、より多くの情報を提供していただけますか?エラーの原因となるコードのように?



    1. NOT IN vs NOT EXISTS

    2. SQLServerでALLを使用する3つの方法

    3. SELECT*FROM複数のテーブル。 MySQL

    4. 主キーとしての文字列のパフォーマンスの低下?