gpt4 book ai didi

php - 直接参数VS。在变量中保存值

转载 作者:行者123 更新时间:2023-11-29 04:48:01 24 4
gpt4 key购买 nike

这个函数应该:

function get_article_info(){
$id = $_GET['id'];
$data = array();
$q = "SELECT * FROM articles WHERE article_id = $id";
$qry = mysql_query($q);
while($row = mysql_fetch_assoc($qry)){
$data[] = $row;
}
return $data;
}

和这个一样:

function get_article_info2(){
$id = $_GET['id'];
$data = array();
$q = mysql_fetch_assoc(mysql_query("SELECT * FROM articles WHERE article_id = $id"));

while($row = $q){
$data[] = $row;
}
return $data;
}

如果我尝试使用 get_article_info2 我会收到此错误:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 35 bytes)

谁能告诉我为什么它不起作用?谢谢 ;)

最佳答案

    $q = mysql_fetch_assoc(mysql_query("SELECT * FROM articles WHERE article_id = $id"));

while($row = $q){
$data[] = $row;
}

这个循环没有尽头,因为你之前给$q赋了一次值,它永远不会改变。所以同一行一遍又一遍地附加到 $data,最后你的脚本耗尽了内存。

您必须分别为每条记录调用 fetch 函数(如第一段代码)。

关于php - 直接参数VS。在变量中保存值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15903020/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com