-1

私のテーブルには、次のような (%) を持つタグがいくつかあります:%tagまたはtag% 、PDO プリペアド ステートメントを使用しています%

$query = "SELECT * FROM table where tags like :tags";

$tags = 'tag%';
//or
$tags = 'tags\%';

$sth->prepare($query);
$sth->bindValue(":tags", '%'.$tags.'%');

アップデート:

列の値はtest%test、次を使用して検索する場合ですtest%test: LIKE%test%testエスケープなしでOKですが、 % を含むすべてのタグを検索したいので、%%%エスケープなしで使用すると、列に含まれていなくてもすべての結果が表示されます%

デモ: http://sqlfiddle.com/#!2/ae24e/6

4

2 に答える 2

-2

私は個人的に次のようにします:

$query = "SELECT * FROM tabler WHERE tags LIKE :tags";
$sth->prepare($query);
$sth->bindValue(':tags', "%{%tags}%";
于 2013-10-08T09:07:03.677 に答える