准备语句获取双结果时的 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中文网其他相关文章!