Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在“查询结果”中选择查询结果;内存不足的致命错误“;_Php_Mysql_Pdo_Out Of Memory - Fatal编程技术网

Php 在“查询结果”中选择查询结果;内存不足的致命错误“;

Php 在“查询结果”中选择查询结果;内存不足的致命错误“;,php,mysql,pdo,out-of-memory,Php,Mysql,Pdo,Out Of Memory,这是我的select语句,它非常简单。它从不同的表中选择数据和blob。但这是回报: 致命错误:内存不足(已分配1310720)(尝试分配10221840字节) 我读过几篇文章,说我应该增加max\u allowed\u packet,但后来就没用了。如有任何建议,将不胜感激 更新 将php.ini中的内存限制=128M更改为内存限制=256M $chk = $dbh->prepare("SELECT * FROM af_rpta_faas_land_notapproved AS t1

这是我的select语句,它非常简单。它从不同的表中选择数据和blob。但这是回报:

致命错误:内存不足(已分配1310720)(尝试分配10221840字节)

我读过几篇文章,说我应该增加
max\u allowed\u packet
,但后来就没用了。如有任何建议,将不胜感激

更新


php.ini中的
内存限制=128M
更改为
内存限制=256M

$chk = $dbh->prepare("SELECT * FROM af_rpta_faas_land_notapproved  AS t1 ,af_rpta_faas_land_notapproved_address  AS t2 ,af_rpta_faas_land_notapproved_approval  AS t3 ,af_rpta_faas_land_notapproved_boundaries  AS t4,af_rpta_faas_land_notapproved_ownerinfo  AS t5 ,af_rpta_faas_land_notapproved_references  AS t6 ,af_rpta_faas_land_notapproved_status  AS t7 ,af_rpta_faas_land_not_approved_aprroval_files  AS t8,af_rpta_faas_land_not_approved_valuation  AS t9 WHERE t1.pin = :pin AND t1.status = :active AND t2.pin = :pin AND t2.status = :active AND t3.pin = :pin AND t3.status = :active AND t4.pin = :pin AND t4.status = :active AND t5.pin = :pin AND t5.status = :active AND t6.pin = :pin AND t6.status = :active AND t7.pin = :pin AND t7.status = :active AND t8.pin = :pin AND t8.status = :active AND t9.pin = :pin AND t9.status = :active ");
$chk->bindValue(":pin", $pin, PDO::PARAM_STR);
$chk->bindParam(":active", $propertystatus, PDO::PARAM_STR);
if ($chk->execute())
    {
    echo $chk->rowCount();
    }
至:

[mysqldump]
quick
max_allowed_packet = 16M

在my.ini

中,为什么要执行两次查询?我认为不是因为我在条件中有这个查询,所以如果条件满足,它将运行,如果不满足,它将不运行。我有一个问题,如果是这样的话,我如何检查查询是否运行了多次?您正在运行多次。代码是这样说的。
if($chk->execute()){echo$chk->execute();}
max\u packet\u size
无法解决您的问题<代码>内存限制
将显示。而且,在我看来,你只是简单地交叉连接所有这些表,这将导致一个可怕的庞大的结果集。您需要在联接上包括一些关系条件,否则您的结果是每个表中的总行数乘以在一起。我的坏消息是我已经编辑了它,它应该是
rowcount
[mysqldump]
quick
max_allowed_packet = 32M