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

私はまたを使用しています(1834483712を割り当てられる)(65488バイトを割り当てしようとした)

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

を、私は誰もが私にこれに対する解決策を与えることができます。

+2

updateDb()を呼び出します:public function updateDb()にの名前を変更し 'ます$ this->更新($クエリ、$データ)'を呼び出す 'パブリック関数を'$ this-> update($ query、$ data)'を呼び出すupdate() ' –

+0

これで何をすることができますか?これには何か解決策はありますか? –

+0

@ sarinaByanjankarあなたはコードを変更し、無限再帰を削除する必要があります..この問題の唯一の解決策。 –

答えて

0

あなたのコードは無限再帰

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

を持っている唯一の解決策は、コードを変更し、無限再帰を削除することです。

例えば、 、後

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

あなたのコードをrefractoringと、この関数は無限再帰がある代わりにupdate()

+1

ありがとうございました!出来た ! –

+0

@ sarinaByanjankarは答えを受け入れ、問題を適切に閉じます。それがシステムの仕組みです。 –

関連する問題