内存不足(分配1834483712)(试图分配65488字节)

时间:2017-12-23 11:34:18

标签: php

public function update(){
    $query = "UPDATE `stock` SET `status`= 'expired'";
    $data =[$this->status];
    return $this->update($query, $data); //Error Line 
}

我也用过:

ini_set('memory_limit', '-1');

我可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

您的代码具有无限递归

public function update(){                               // <--
    $query = "UPDATE `stock` SET `status`= 'expired'";  //    |
    $data =[$this->status];                             //    |                     
    return $this->update($query, $data);                //  --
}

唯一的解决方案是更改代码并删除无限递归。

例如。将public function update()重命名为public function updateDb()

public function updateDb(){                             
    $query = "UPDATE `stock` SET `status`= 'expired'";  
    $data =[$this->status];                                                
    return $this->update($query, $data);                
}

之后,请提取代码并致电updateDb()而不是update()