2017-05-05 7 views

答えて

3

パラメータを使用すると、それらはそのまま送信され、必要に応じてエスケープされます。あなたはこれが最後の文字列が'%something%'になり、これは、SQLクエリにエスケープされることを意味し

$q1 = "'%".$q."%'"; 

書きます。あなたはたぶん'で始まり、終わる文字列を見つけたくないので、それらを削除して%something%になるでしょう。

$q1 = "%".$q."%"; 
+1

良いキャッチを書きます。さらに、この '$ q2'変数を取り除き、関数呼び出し自体でこれを構成する方が良いでしょう。 – tadman

+0

オススメの質問を燃やす方が良い。 –

+2

@PierreLebonこの場合、それはタイプミスではありません。文字列カテナネーションからパラメータに移動する方法については誤解です。初心者には間違いがあり、分かりにくいのは間違いです。重複がない限り、それは他人を助けるかもしれない。 –

0

この方法を試してください。

中かっこで二重引用符を使用し、その中に変数を入れてください。

$q1 = "%{$q}%"; 

OR直接

$q1 = "%{$_GET['q']}%"; 
関連する問題