gpt4 book ai didi

php - PDO 无法选择大量记录

转载 作者:行者123 更新时间:2023-11-30 21:53:13 25 4
gpt4 key购买 nike

我正在尝试获取 MySQL 表的所有行。这是代码:

$sql = "SELECT * FROM my_table";
$connection = new
PDO('mysql:host=localhost;dbname=dbname;charset=utf8','user', 'password');
$statement =$connection->prepare($sql);
$statement->execute();
$result = $statement->fetchAll(PDO::FETCH_ASSOC);

my_table 表有 145 列和 11000 条记录。当我运行代码时,它无法获取所有记录。但是,当我将 $sql 更改为 SELECT ID FROM my_tableSELECT * FROM my_table LIMIT 4000 时,它会成功运行。

PDO 获取数据是否有任何限制,还是我滥用了它?

解决方案

检查 Apache 错误日志后,我看到了这个错误:apache weAllowed memory size of 134217728 bytes exhausted。 AS @Marcin Orlowski 在评论中说这是一个内存问题。所以我应该选择需要的列并使用 where 子句来过滤我的记录。

最佳答案

您应该添加 foreach 选项以正确获取它..只需如下所示回显行列即可显示其中的列。

<?php
$connection = new PDO('mysql:host=localhost;dbname=dbname;charset=utf8','user', 'password');
$sql = "SELECT * FROM `my_table`";
$statement =$connection->prepare($sql);
$statement->execute();
$result1 = $statement->fetchAll(PDO::FETCH_ASSOC);
//Re written by Ajmal PraveeN
foreach($result1 as $result){
echo $result['column'];
echo $result['column2'];
}
?>

关于php - PDO 无法选择大量记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46261733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com