[英]Prepared Statement in PHP for MATCH AGAINST not working
我正在嘗試在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
查詢的了解,您尚未使變量適合LIKE
。 所以像這樣綁定之前將變量連接起來
$firstname .= '%';
$lastname .= '%';
之后,告訴我會發生什么。 謝謝!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.