【发布时间】:2018-09-06 11:14:45
【问题描述】:
我正在尝试在php 中执行以下MATCH AGAINST,但它没有给出任何结果。
当我直接在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)
准备好的语句看起来如何?它的正确语法是什么?
【问题讨论】:
-
定义“不工作”...?!
-
根据您发布的代码,您实际上并没有执行查询
-
与您的 phpmyadmin 查询相反,您准备的查询也与
number匹配……我们应该如何确定这是否会造成问题? -
您是否在检查错误?
-
@Zain
$firstname .= '%';...
标签: php mysql sql phpmyadmin