gpt4 book ai didi

php - 我正在尝试使用 mysqli 查询我的 mysql 数据库,但是出现内存错误

转载 作者:行者123 更新时间:2023-11-29 12:52:09 25 4
gpt4 key购买 nike

这是我收到的错误:允许的内存大小 1258291200 字节已耗尽(尝试分配 4294967296 字节)

在这一行:call_user_func_array(array($query, 'bind_result'), $params);

有趣的是,我已经使用这个脚本数十次,没有出现任何问题。所以我认为这可能是我的服务器/数据库设置中的某些内容,但想不出任何东西。

完整功能如下:

public function q($query) {
if ($query = $this->_mysqli->prepare($query)) {
if (func_num_args() > 1) {
$x = func_get_args();
$args = array_merge(array(func_get_arg(1)),
array_slice($x, 2));
$args_ref = array();
foreach($args as $k => &$arg) {
$args_ref[$k] = &$arg;
}
call_user_func_array(array($query, 'bind_param'), $args_ref);
}
$query->execute();

if ($query->errno) {
if ($this->_debug) {
echo mysqli_error($this->_mysqli);
debug_print_backtrace();
}
return false;
}

if ($query->affected_rows > -1) {
return $query->affected_rows;
}
$params = array();
$meta = $query->result_metadata();
while ($field = $meta->fetch_field()) {
$params[] = &$row[$field->name];
}

call_user_func_array(array($query, 'bind_result'), $params);

$result = array();
while ($query->fetch()) {
$r = array();
foreach ($row as $key => $val) {
$r[$key] = $val;
}
$result[] = $r;
}
$query->close();

foreach($result as $key=>$resultField){
$result[$key] = (object) $resultField;
}

return $result;
} else {
if ($this->_debug) {
echo $this->_mysqli->error;
debug_print_backtrace();
}
return false;
}
}

请不要告诉我增加内存限制。我正在寻找问题的解决方案,而不是症状。

最佳答案

事实证明我不必要地使用了longtext并耗尽了我所有的内存。切换到 mediumtext 解决了该问题。

关于php - 我正在尝试使用 mysqli 查询我的 mysql 数据库,但是出现内存错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24558748/

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