0

我想将一个变量连接到我的 LIKE 子句中。我相信我做错了。我能做些什么?

$query2= "SELECT user_id FROM interests WHERE interest LIKE     
'%'".$interest."'%'";
4

4 回答 4

2

引号的定位是错误的。检查 % 符号周围的单引号。

$query2= "SELECT user_id FROM interests WHERE interest LIKE '%".$interest."%'";

您之前拥有的是 '%' $interest '%' 而不是 '% $interest %' 这正是您想要的。

于 2012-09-17T21:15:18.357 回答
2

这是将变量连接成字符串的正确方法:

$query2 = "SELECT user_id FROM interests WHERE interest LIKE '%" . $interest. "%'";

之后有额外的单引号LIKE

但是,您应该使用使用mysqli_或 PDO 的预准备语句。

于 2012-09-17T21:16:14.660 回答
1

删除之后的单引号%

于 2012-09-17T21:16:27.000 回答
0

删除多余的引号,不要忘记转义外部输入(或使用准备好的语句)。

$query2= "SELECT user_id FROM interests WHERE interest LIKE '%".
         mysqli_real_escape_string($interest)."%'";
于 2012-09-17T21:20:19.150 回答