2016-01-13 106 views
0

任何人都可以幫助我解決這個錯誤!
「的排出134217728個字節允許存儲器大小(試圖分配36個字節)」

發生這種錯誤,當我從可用的所有課程的數據庫表的取出記錄(總過程是84號)。
我的功能是: - 發生
允許的內存大小134217728字節耗盡(試圖分配36字節)

function allCouses() 
{ 
    include 'connect.php'; 
    $qry = "SELECT * FROM master_course WHERE mc_enabled=1 AND mc_deleted=0"; 
    $data = mysqli_query($con, $qry); 
    if(mysqli_num_rows($data)) 
    { 
     $record = mysqli_fetch_assoc($data); 
     while($record) 
      $course[]=$record; 
     return $course; 
    } 
} 

的錯誤,當我存儲所有的紀錄$course[]

+0

[當有人回答我的問題,我應該怎麼辦(http://stackoverflow.com/help/someone-answers)你是不是善於接受的回答你的問題。 _沒有接受!_ SO是一條雙向的街道,如果您需要幫助並獲得幫助,請接受幫助您的答案。除其他外,它允許其他人看到你有你需要的答案,所以他們不會不斷添加你的問題的答案。你也可以獲得接受答案的信譽點數 – RiggsFolly

回答

3

你是在循環,還有錯誤的事情,並寫了一個無限while循環,和你需要的mysqli_fetch_assoc while循環內讀取結果集中的所有行。

function allCouses() 
{ 
    include 'connect.php'; 
    $qry = "SELECT * FROM master_course WHERE mc_enabled=1 AND mc_deleted=0"; 
    $data = mysqli_query($con, $qry); 

    while ($record = mysqli_fetch_assoc($data)) { 
     $course[]=$record; 
    } 
    return $course; 
} 

這也將是一個更好的主意,以在腳本的主體數據庫連接,然後通過$con作爲參數傳遞給需要它的各項功能。建立連接的過程相當緩慢,所以你只需要每個腳本執行一次。

<?php 
function allCouses($con) 
{ 
    $qry = "SELECT * FROM master_course WHERE mc_enabled=1 AND mc_deleted=0"; 
    $data = mysqli_query($con, $qry); 

    while ($record = mysqli_fetch_assoc($data)) { 
     $course[]=$record; 
    } 
    return $course; 
} 



include 'connect.php'; 

$courses = allCourses($con); 
相關問題