這裏的空結果是查詢:如何捕捉一個PHP的mysqli查詢
$stmt = $dbconnect->prepare("SELECT `title`,`description`,`postid` FROM `posttd` WHERE MATCH `title` AGAINST (? IN BOOLEAN MODE)");
$stmt->bind_param('s', $value);
$stmt->execute();
的$value
值是「測試1」,「其他」和「測試2」
值「其他」是一個MySQL的停用詞。所以當它通過查詢傳遞時,結果什麼也沒有。
只是想知道如何捕捉它,以便我可以將它從$value
陣列中取出。
var_dump($stmt->execute());
將給出bool(true)
所有三個。
儘可能多的我不想過濾$value
的停用詞,然後在查詢中運行它。
var_dump($stmt)
$stmt->execute();
後會導致以下:
測試1的var_dump
object(mysqli_stmt)#2 (9) { ["affected_rows"]=> int(-1) ["insert_id"]=> int(0) ["num_rows"]=> int(0) ["param_count"]=> int(1) ["field_count"]=> int(3) ["errno"]=> int(0) ["error"]=> string(0) "" ["sqlstate"]=> string(5) "00000" ["id"]=> int(1) }
測試2的var_dump
object(mysqli_stmt)#2 (9) { ["affected_rows"]=> int(-1) ["insert_id"]=> int(0) ["num_rows"]=> int(0) ["param_count"]=> int(1) ["field_count"]=> int(3) ["errno"]=> int(0) ["error"]=> string(0) "" ["sqlstate"]=> string(5) "00000" ["id"]=> int(3) }
其他的var_dump
object(mysqli_stmt)#6 (9) { ["affected_rows"]=> int(-1) ["insert_id"]=> int(0) ["num_rows"]=> int(0) ["param_count"]=> int(1) ["field_count"]=> int(3) ["errno"]=> int(0) ["error"]=> string(0) "" ["sqlstate"]=> string(5) "00000" ["id"]=> int(2) }
唯一的區別是object(mysqli_stmt)#6
任何想法?
你可以用''包裹你的參數嗎? – Aquillo 2013-04-29 11:30:06
你能解釋一下嗎?你的意思是'SELECT'title','description','postid' FROM'posttd' WHERE MATCH'title' AGAINST(「?」IN BOOLEAN MODE)'? – 2013-04-29 11:45:10
什麼是mysql停用詞? – 2013-04-29 13:43:17