1
public function suggest(){
$SQL = "SELECT CategoryName FROM tb_category WHERE CategoryName LIKE CONCAT('%', ?, '%')";
$stmt = $this->_db->mysqli->prepare($SQL);
$stmt->bind_param("s", $this->querystring);
$stmt->execute();
$meta = $stmt->result_metadata();  
while($field = $meta->fetch_field())
    {     
     $parameters[] = &$row[$field->name];
     //print_r($parameters); 
    }

私のwhile-loop では、テーブル全体ではなく、データベース内の単一の行をチェックするだけで何度も何度も on を与えています。ここでは like 演算子に問題はないと思います

4

1 に答える 1

1

念のため、よく理解しました:

while($field = $meta->fetch_field())
{     
 $parameters[] = &$row[$field->name];
 //print_r($parameters); 
}

クエリが 10 行を返したとします。これは 10 回実行されますか?

$row[$field->name];の代わりに&$row[$field->name];(なしで&)試してください

最後fetch_field()に、クエリで取得した列の定義を返します。のみを選択すると、列定義CategoryNameのみが印刷されますCategoryName

于 2012-04-19T09:21:42.193 に答える