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 的东西,只是检查 db 中的单行而不是整个表我猜这里的 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 回答