我没有mysqlnd可用,所以我实现了一个帮助函数来完成这个工作:
公共函数bind_array($stmt &$row) {
$md = $stmt->result_metadata();
var_dump($md);
$params = array();
while($field = $md->fetch_field())
{
$params[] = &$row[$field->name];
}
call_user_func_array(array($stmt, 'bind_result'), $params);
}问题是,我还需要它才能返回多个行。到目前为止,它只能返回一行。
谢谢..。
编辑:我的目标是获得与调用mysqli fetch_assoc时相同的结果,因为我没有mysqlnd.之后,数组将是json_encoded ..
发布于 2014-03-21 07:19:42
事实上,与mysqlnd相比,PDO要容易得多。
您可以尝试我的PDO包装器,可以使它比原来的类更好 --它使用起来非常简单,将旧的mysql函数的简单性与准备好的语句的功能和安全性结合起来。
比方说,要获得多个结果,您需要一行代码,如果使用mysqli或使用旧的mysql函数时,它与几个屏幕相对:
$sql = 'SELECT return, fields FROM table WHERE search_field = ?';
$data = DB:prepare($sql)->execute([$search_val])->fetchAll();现在,$data包含了您可以迭代的预期结果。
foreach ($data as $row)
{
echo $row['fields'];
}只要在某个地方用DB凭据定义四个常量,那么您就可以在代码中的任何地方使用数据库,就像以前的mysql一样。
https://stackoverflow.com/questions/22545979
复制相似问题