-2

私はウェブサイトを作成しています。ウェブサイト内には、ウェブサイト上のアイテムを検索できる検索ボックスがあります。コードはありますが、エラー メッセージが表示され続けます。

<?php
include 'connect.php';

$search = $_POST['search']."*";

$search_query = $link->prepare("SELECT name FROM products WHERE MATCH(name) 
AGAINST (? IN BOOLEAN MODE)")
$search_query->bind_param('s', $search);
$search_query->execute();
$search_query->store_result();

$search_rows = $search_query->num_rows;
$search_query->bind_result($product_name);

if($search_rows > 0){
    while($search_query->fetch()){
        echo "Your search returned $search_rows results";
        echo $product_name."<br>";
    }
} else { echo "Your search returned no results, sorry :("; }   

データベースから mysql クエリを使用して検索を実行し、検索を返すことは可能ですか??

アドバイスをいただければ幸いです。

ありがとう

4

2 に答える 2

0

そのコードにはいくつかの作業が必要です。

そのループには欠陥があるように見えます。次のようなものを試してください。

echo "Your search returned $search_rows results";
while($search_query->fetch()){
   echo $product_name . "<br>";
}
于 2013-03-19T11:42:42.180 に答える
0

The error is most probably because of your syntax.

$search_query->store_result();
$search_rows = $search_query->num_rows;
$search_query->bind_result($product_name);

Here, you are first trying to store the results and later binding the results to variable $product_name which leads to the said error.

The bind_result states:

Note that all columns must be bound after mysqli_stmt_execute() and prior to calling mysqli_stmt_fetch(). Depending on column types bound variables can silently change to the corresponding PHP type.

于 2013-03-19T11:40:50.507 に答える