mysqli :: real_escape_stringの対応物?
質問
stripslashes()?それはラメだから4.0だ。 SQLクエリに追加されたすべてのスラッシュを削除するmysqli :: real_escape_stringの5.0対応版は何ですか?
他にも質問があります:
-
レコードを更新してテキストフィールドに一重引用符を追加しようとすると、phpMyAdminはスラッシュではなく一重引用符で文字列をエスケープします。一重引用符は\ 'ではなく' '(2つの一重引用符)としてエスケープされます-phpMyAdminはどの機能を使用していますか?それで、mysqlは文字列をエスケープするための2つのアプローチ、つまりスラッシュと一重引用符をサポートしていますか?
-
mysqlから選択した文字列を常にアンスラッシュする必要がありますか?理由は、挿入時にスラッシュが入っていることです。しかし、私はそうする必要はないと思った。
どんなアイデアでも、ありがとう!
解決
PDOを使用したくなく、mysqliを使用している場合は、準備済みステートメントを使用する必要があります。そのため、mysql_real_escape_string_i_mean_it_this_timeのようなもので引用符をエスケープする必要はありません。
さらに具体的には、 mysqli-<!> gt; prepare クエリを準備します。 mysqli_stmt-<!> gt; bind_param を呼び出しますパラメータ値を設定します。そして、 mysqli_stmt-<!> gt; execute を呼び出して、クエリを実行します。
他のヒント
mysql[i]
/ pgsql
/ ...拡張機能の代わりに PDO を使用します。
ただし、マジッククオートによるダメージを元に戻したい場合は、stripslashes()
がまさに探しているものです。
ini_set('magic_quotes_runtime', false);