我的脚本在这行代码处停止(只是空白,没有错误消息,尽管这可能是我的主机设置 - 小橙色):
call_user_func_array(array($stmt, 'bind_result'), refValues($parameters));
以下是进入它的值:
First Array - that is, array($stmt, 'bind_result')
Array
(
[0] => mysqli_stmt Object
(
[affected_rows] => -1
[insert_id] => 0
[num_rows] => 0
[param_count] => 1
[field_count] => 4
[errno] => 0
[error] =>
[error_list] => Array
(
)
[sqlstate] => 00000
[id] => 1
)
[1] => bind_result
)
Parameter for Ref Values
Array
(
[0] =>
[1] =>
[2] =>
[3] =>
)
奇怪的是,它在我的本地MAMP实例上运行得非常好(相同的数据库,基本相同的PHP版本 - MAMP是5.6.32,A Small Orange是5.6.35)。 MAMP的MYSQL为5.6.38,小橙色为5.5.51-38.2。
进入函数的值也是相同的。 MySQLi凭证是有效的,因为页面的其余部分有一些SELECT查询可以正常工作。
这是我的主人的问题还是我缺少的东西?我承认我还不熟悉MySQLi,在MYSQL上长大,没有时间真正适应变化。
编辑:新显示的错误代码如下:
Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 4294967296 bytes) in [REDACTED] on line 171
现在问题是为什么一个相对简单的MYSQL调用使用了这么多内存 - 它只是从一个小小的表(256Kib!)中选择一个小行。
答案 0 :(得分:0)
错误来自于使用mysqli和数据库中的longtext列(在这种情况下,' templates')。我只是将该列更改为中间文本,现在一切正常。
来源:
Allowed memory size of 134217728 bytes exhausted (tried to allocate 4294967296 bytes)