1

%記号とアンダースコアをエスケープする特別な方法はありますか?私がする時

 PDO->prepare()

%記号とアンダースコアを自動的にエスケープしますか?

\%または_を使用してみましたが、機能しないと思います。また、文字列にそのような文字が含まれているかどうかを確認したいと思います。

ありがとうございました

4

2 に答える 2

1

%_エスケープする必要がほとんどないため、自動的にエスケープされることはありません。..を含む文字列で使用されている場合のみLIKE

これはphpで手動で処理する必要があります。を使用strposして、それらのいずれかが文字列に含まれていることを確認できます。また、を使用str_replaceしてアドホックエスケープを実行できます。文字列のタイプによっては、文字列内でバックスラッシュ自体をエスケープする必要がある場合があります。

于 2012-09-04T20:55:53.463 に答える
0

PDO-> prepare()を使用する場合は、PDO-> execute(array $ params)パラメーターバインディングで実行しないでください。パラメータバインディングでエスケープすることを心配する必要はありません。

于 2012-09-04T20:59:59.337 に答える