Я написал некоторый PHP-код для вставки некоторых данных в таблицу MySQL, используя расширение mysqli и подготовленные операторы. На сервере MySQL работает версия 5.0.77.
Я тестировал код локально на своей машине с версией 5.5.27, и она работает отлично. Когда я передаю свой код на сервер с более старой версией MySQL, я получаю сообщение об ошибке « Неизвестный подготовленный обработчик инструкции (0), заданный mysql_stmt_execute« каждый раз ».
Я много искал эту ошибку и только нашел отчеты об ошибках, которые, похоже, были исправлены до версии 5.0.77. Другая странная вещь заключается в том, что в отчетах иногда упоминается номер в изменении сообщения об ошибке, в то время как в моем случае число остается постоянным в 0, независимо от того, сколько разных браузеров я одновременно открываю.
Я не могу обновить сервер, так как он не под моим контролем и обслуживает множество других пользователей.
Кто-нибудь есть идеи, что может произойти, или как это исправить? Большое спасибо.
редактировать
Код PHP вставлен в http://pastebin.com/1X4f5G5Z . Я добавил некоторые комментарии, которые должны помочь понять, что делают функции.
Я использую классы-оболочки по расширению mysqli, как показано на http://www.php.net/manual/en/mysqli-stmt.bind-param.php#110363
Я пробовал много чего без успеха. Возможно, это ошибка в MySQL v5.0.77.
Я, наконец, получил свой код для работы, обратившись к обходному решению @ robert-rozas в комментариях и переносив мой код на расширение mysqli, и теперь он отлично работает! Переустановка здесь для разрешения вопроса.