모두 좋은 하루. 나는이 기능을 가지고 : 나는 하위 카테고리 이름을 잡아하려면이 기능을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()'함수가 무의식적 인 루프를 초래하는 행 페칭을 잘못 처리한다고 생각합니다. –
... '카테고리'클래스의 관련 부분을 게시하십시오. –
'DB'가'PDO' 주위의 싱글 톤 래퍼 인 경우 제발, 제거하십시오. PHP의 Singeltons는 정말 무의미합니다. 'DB'가 어떻게 든 _extends_'PDO' : [최대한 빨리] (http://codereview.stackexchange.com/questions/29362/very-simple-php-pdo-class/29394#29394). 아, 그리고'id = $ parent_id' <- 주입 취약점이 될 수 있습니다. 준비된 문장을 사용하십시오. BTW : 메모리 제한 문제는'PDO'와 관련이 없다. '$ data-> results()'는 아마 당신의 불황의 원인이며, 무한 루프가 발생합니다. –