首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不使用mysqlnd返回多行

不使用mysqlnd返回多行
EN

Stack Overflow用户
提问于 2014-03-20 21:55:47
回答 1查看 160关注 0票数 1

我没有mysqlnd可用,所以我实现了一个帮助函数来完成这个工作:

公共函数bind_array($stmt &$row) {

代码语言:javascript
复制
    $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 ..

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-21 07:19:42

事实上,与mysqlnd相比,PDO要容易得多。

您可以尝试我的PDO包装器,可以使它比原来的类更好 --它使用起来非常简单,将旧的mysql函数的简单性与准备好的语句的功能和安全性结合起来。

比方说,要获得多个结果,您需要一行代码,如果使用mysqli或使用旧的mysql函数时,它与几个屏幕相对:

代码语言:javascript
复制
$sql  = 'SELECT return, fields  FROM table WHERE search_field = ?';
$data = DB:prepare($sql)->execute([$search_val])->fetchAll();

现在,$data包含了您可以迭代的预期结果。

代码语言:javascript
复制
foreach ($data as $row)
{
     echo $row['fields'];
}

只要在某个地方用DB凭据定义四个常量,那么您就可以在代码中的任何地方使用数据库,就像以前的mysql一样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22545979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档