Мой сценарий останавливается (просто пустой, без сообщения об ошибке, хотя это могут быть настройки моего хоста - A Orange) в этой строке кода:
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).MYSQL MAMP - 5.6.38, A Orange - 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!).