簡體   English   中英

像MySQL預備語句

[英]LIKE MySQL Prepared Statement

我正在使用AJAX和准備好的語句創建搜索引擎。 發送搜索變量並且AJAX查詢成功,但是問題出在我的搜索查詢語法上。 無論我的搜索詞對關鍵字有多精確,我的num_rows始終為0。我在搜索詞中添加了% % ,我曾嘗試刪除空格,但沒有主意。

關鍵字示例包括悲傷,聲學,電,布魯斯等。

<?php
include 'config.php';

$partialSearch = "%".$_POST['partialSearch']."%";

$stmt = $mysqli->prepare("SELECT Name FROM videos WHERE Keywords LIKE ? ");
$stmt->bind_param('s',$partialSearch);
$stmt->execute();
$stmt->bind_result($Name);

if($stmt->num_rows() == 0)
{
echo "No results found for ".$_POST['partialSearch'];
}else{
echo "Results for ".$_POST['partialSearch'];
echo $Name;
}
?>
if($stmt->num_rows() == 0)

這是不正確的。 num_rows是屬性,而不是方法。 應該是:

if($stmt->num_rows == 0)

我建議啟用錯誤報告以發現這種愚蠢的錯誤。 有關如何執行此操作的更多信息,請參見此線程

您應該添加對store_result的調用,以獲取結果中記錄的准確計數:

嘗試:

...
$stmt->execute();
$stmt->store_result(); // Add this line
$stmt->bind_result($Name);

if($stmt->num_rows == 0)
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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