准备语句while循环错误php

时间:2012-04-19 09:03:25

标签: php mysqli

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 - 循环中,它一次又一次地给出on on thing只检查db中的单行而不是整个表我猜这里有类似运算符没有任何问题

1 个答案:

答案 0 :(得分: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列定义