美好的一天每個人。我有這樣的功能:PHP PDO內存限制
public function get_subcategory_name($parent_id){
if($parent_id !=0){
$data = DB::getInstance()->query("SELECT *FROM `" . Config::get('mysql/tbl_categories') . "` WHERE `id` = $parent_id");
foreach($data->results() as $dt){
if($dt->parent_category_id == 0){
$name = $dt->name;
}else{
$name = Category::get_subcategory_name($dt->parent_category_id) . $dt->name;
}
}
}else{
return false;
}
return $name ." <i class='fa fa-angle-double-right'></i> ";
}
有了這個功能,我想抓住的子類的名字,我也當該類沒有父它將返回false
的規則,但由於某些原因,這個功能工作,從來沒有停止,我有一個內存限制問題。我嘗試了很多方法,但找不到任何解決方案,請儘可能幫助我。謝謝。
請張貼DB'的'類定義。我懷疑'results()'函數中的某些內容不正確地處理了導致無限循環的行抓取。 –
...併發布'Category'類的相關部分。 –
如果'DB'是'PDO'周圍的單例包裝器,請將其除掉。 PHP中的Singeltons真的很無意義。如果'DB'不知何故_Extends_'PDO':[儘快溝通](http://codereview.stackexchange.com/questions/29362/very-simple-php-pdo-class/29394#29394)。哦,'id = $ parent_id' < - 可能是一個注入漏洞,使用預準備語句。順便說一句:內存限制問題不太可能與「PDO」相關。 '$ data-> results()'可能是你的困境的原因,導致無限循環。在if()'測試之前發佈更多代碼 –