SQL LIKE将PHP变量视为字符串

时间:2018-08-09 09:21:22

标签: sql mysqli

我正在尝试使用

中使用SQL LIKE在mysql数据库中搜索具有相同域的电子邮件
$search=$_POST['searchTickets'];
$from=$_POST['fromm'];
$to=$_POST['too'];

$q=mysqli_query($conn,"select * from mytickets WHERE email LIKE '%$search' AND dt BETWEEN '$from' AND '$to' ");

尽管$search的字符串(例如mydomain.com)与mytickets表,电子邮件列(例如name@mydomain.com)中的值相对应,但mysqli_query始终返回零结果。

以某种方式,当我将email LIKE '%$search'替换为email LIKE '%mydomain.com'时,它将返回我要查找的结果。 sql是否将$search中的'%$search'当作字符串?如果可以的话,使SQL将其作为PHP变量的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

可能的解决方案之一:

$q=mysqli_query($conn,"select * from mytickets WHERE email LIKE '%".$search."' AND dt BETWEEN '$from' AND '$to' ");