Php 允许的内存大小134217728字节已用尽(尝试分配36字节)

Php 允许的内存大小134217728字节已用尽(尝试分配36字节),php,Php,谁能帮我解决这个错误 “已用尽134217728字节的允许内存大小(尝试分配36字节)” 当我从所有可用课程的数据库表中获取记录(总课程数为84)时,会发生此错误。我的函数是:- function allCouses() { include 'connect.php'; $qry = "SELECT * FROM master_course WHERE mc_enabled=1 AND mc_deleted=0"; $data = mysqli_query($con, $

谁能帮我解决这个错误
“已用尽134217728字节的允许内存大小(尝试分配36字节)”

当我从所有可用课程的数据库表中获取记录(总课程数为84)时,会发生此错误。
我的函数是:-

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[]

中时,会发生错误,因为您正在循环,这是错误的,并且编写了一个无限while循环,并且您需要while循环中的
mysqli_fetch_assoc
读取结果集中的所有行

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);

您正在循环,这是错误的,并且编写了一个无限while循环,您需要while循环中的
mysqli\u fetch\u assoc
来读取结果集中的所有行

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);
你不善于接受问题的答案。没有人接受!这是一条双向的道路,如果你需要帮助并得到它,那么请接受帮助你的答案。除此之外,它还允许其他人看到你得到了你需要的答案,这样他们就不会不断地为你的问题添加答案。如果你不善于接受问题的答案,你也会因为接受答案而获得声誉积分。没有人接受!这是一条双向的道路,如果你需要帮助并得到它,那么请接受帮助你的答案。除此之外,它还允许其他人看到你得到了你需要的答案,这样他们就不会不断地为你的问题添加答案。你接受答案也会获得声誉积分