我正在尝试在MATCH AGAINST
中执行以下php
,但没有结果。
当我直接在phpmyadmin
中执行相同的Select语句时,它可以工作,但是在带有准备好的语句的php中却不能。没有任何结果。我没有错误,但没有任何结果。
$statement = $DB->prepare('SELECT * FROM users
WHERE firstname LIKE ?
AND lastname LIKE ?
AND MATCH (firstname, lastname) AGAINST (? IN BOOLEAN MODE)');
$statement->bind_param('sss', $firstname, $lastname, $searchString);
$statement->execute();
$result = $statement->get_result();
$statement->close();
当我将以下内容放入phpmyadmin中时,它可以正常运行,但不能在php上运行
Select * FROM users WHERE firstname LIKE "d%" AND lastname LIKE "f%" and MATCH (firstname, lastname) AGAINST ("Jonny" IN BOOLEAN MODE)
准备好的语句看起来如何?正确的语法是什么?
答案 0 :(得分:0)
根据我对您的phpmyadmin
查询的理解,您尚未使变量适合LIKE
。因此,在像这样绑定之前将变量连接起来
$firstname .= '%';
$lastname .= '%';
在这之后,告诉我会发生什么。谢谢!