我试图通过mysql数据库中的一个表构建一个搜索。由于区分大小写,我想使用mysql函数“lower”将searchstring与表中的值进行比较。
这是我的密码:
$searchparameter = '%' .$parts[$i]. '%';
$stmt = $conn->prepare("SELECT jobunique, joblat, joblng FROM job
WHERE jobdeleted = ?
AND (LOWER(jobtitle) LIKE ?
OR LOWER(jobmaincategory) LIKE ?
OR LOWER(jobsubcategory) LIKE ?
OR LOWER(jobdescription) LIKE ?)");
$stmt->bind_param('issss', $del, $searchparameter, $searchparameter, $searchparameter, $searchparameter);
我尝试使用以下选项:
1. $searchparameter = 'LOWER(\'%' .$parts[$i]. '%\')';
2. $searchparameter = 'LOWER(%' .$parts[$i]. '%)';
3. $searchparameter = "LOWER(%" .$parts[$i]. "%)";
两个都不管用。有人能解释一下我做错了什么吗?
1条答案
按热度按时间j0pj023g1#
如果将php变量小写,那么只需添加
%
...当您绑定一个值时,它被假定为一个值,并且您正在尝试绑定一个函数调用。
或者如果你想继续使用mysql
lower()
,我想你可以把它添加到mysql和就用它吧