Я переписал php-код моего сайта и добавил хранимые процедуры MySQL.
В моей локальной версии все работает нормально, но после того, как я загрузил свой сайт на сервер хостинга, я постоянно получаю фатальную ошибку. «Подготовленное заявление нужно переделать».
Иногда загружается страница, иногда загрузка терпит неудачу, и я вижу эту ошибку. Что это?
UPDATE: проблема перешла на сервер VPS. Спасибо за помощь.
Это возможность: Ошибка MySQL # 42041
Они предлагают table_definition_cache
значение table_definition_cache
.
Вы можете прочитать о переподготовке в документах MySQL .
мои решения – создать такую процедуру, как это:
DELIMITER $$ -- -- Procedimientos -- DROP PROCEDURE IF EXISTS `dch_content_class_content`$$ CREATE DEFINER=`renuecod`@`localhost` PROCEDURE `dch_content_class_content`(IN $classId INTEGER) BEGIN -- vw_content_class_contents is a VIEW (UNIONS) select * from vw_content_class_contents; END$$
Я надеюсь, что это поможет кому-то
Я получал такую же ошибку в Ruby on Rails в среде совместного размещения. Это может быть не самое безопасное решение, но отключение подготовленных операторов избавило меня от сообщения об ошибке.
Это можно сделать, добавив параметр «ready_statements: false» в файл database.yml:
production: prepared_statements: false
Это кажется разумным решением, если вы не контролируете параметры конфигурации на сервере MySQL.