为什么使用 PDO 准备好的语句获取时会得到双重结果?

Patricia Arquette
发布: 2024-11-02 17:49:28
原创
386 人浏览过

Why am I Getting Double Results When Fetching with PDO Prepared Statements?

准备语句获取双结果时的 PDO 问题

使用脚本将数据导出到 CSV 文件时,您可能会遇到以下问题:正在显示数据的多个副本,而不是所需的单行。在使用 PDO 准备好的语句时,这个问题变得很明显,并且很难理解为什么会出现这种情况。

要解决此问题,为返回结果指定所需的格式至关重要。默认情况下,PDO 使用 FETCH_BOTH 模式,该模式返回一个包含列名和 0 索引列号的数组。在您的情况下,您只想检索一个按列名称索引的关联数组。

要纠正这种情况,只需通过指定所需的获取模式来修改您的代码:

while ($rows_get_rows = $result_get_rows->fetch(PDO::FETCH_ASSOC))
{
  $csv .= '"'.join('","', str_replace('"', '""', $rows_get_rows))."\"\n";
}
登录后复制

或者,如果您更喜欢数字索引数组,则可以使用 PDO::FETCH_NUM 代替。

您选择的选项将确定返回结果的格式,确保您收到所需结构的数据您的 CSV 导出。

以上是为什么使用 PDO 准备好的语句获取时会得到双重结果?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!