簡體   English   中英

PHP中用於MATCH AGAINST的准備好的語句不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM