%記号とアンダースコアをエスケープする特別な方法はありますか?私がする時
PDO->prepare()
%記号とアンダースコアを自動的にエスケープしますか?
\%または_を使用してみましたが、機能しないと思います。また、文字列にそのような文字が含まれているかどうかを確認したいと思います。
ありがとうございました
%記号とアンダースコアをエスケープする特別な方法はありますか?私がする時
PDO->prepare()
%記号とアンダースコアを自動的にエスケープしますか?
\%または_を使用してみましたが、機能しないと思います。また、文字列にそのような文字が含まれているかどうかを確認したいと思います。
ありがとうございました
%
_
エスケープする必要がほとんどないため、自動的にエスケープされることはありません。..を含む文字列で使用されている場合のみLIKE
。
これはphpで手動で処理する必要があります。を使用strpos
して、それらのいずれかが文字列に含まれていることを確認できます。また、を使用str_replace
してアドホックエスケープを実行できます。文字列のタイプによっては、文字列内でバックスラッシュ自体をエスケープする必要がある場合があります。
PDO-> prepare()を使用する場合は、PDO-> execute(array $ params)パラメーターバインディングで実行しないでください。パラメータバインディングでエスケープすることを心配する必要はありません。