【发布时间】:2020-10-06 03:22:26
【问题描述】:
致命错误:第 52 行中允许的内存大小为 2147483648 字节已用尽(尝试分配 20480 字节) (即使我将 memory_limit 设置为无穷大,错误仍然会发生)
$query= mysqli_fetch_array(mysqli_query($conn, "SELECT * FROM users WHERE email='toluxy99@gmail.com'"));
while($row = $query){
$data[] = array(
'username'=> $row['username'], // Line 52
'email' => $row['email'],
'phone'=> $row['phone'],
'city'=> $row['city'],
'gender'=> $row['gender'],
);
}
if($query) $result = json_encode(array('success'=>true, 'data'=>$data));
else $result = json_encode(array('success'=>false, 'msg'=>mysqli_error($conn)));
echo $result;
}
【问题讨论】:
-
while($row = $query){只是继续将 $row 设置为 $query。也许foreach更合适? -
...或者做:
while($row = mysqli_fetch_array(...)) { ... } -
我如何在这里申请每个人......对不起,我不是一个 php 人,我只需要这个集成@Nigel Ren
-
我还建议不要将
mysqli_query()直接传递给mysqli_fetch_array()。如果这样做,如果查询失败,您将收到错误消息。最好单独进行调用并检查您能够优雅地处理错误。 -
这里是the manual,其中有一堆关于如何使用 mysqli 扩展的示例