Как обращаться к базе данных, если у вас запущен бесконечный скрипт?

Как можно решить проблему с появлением ошибки 2006 после переподключения к базе данных и опроса её на наличие новых данных?
  • 1 мая 2024 г. 12:50
Ответы на вопрос 2
Если у вас запущен бесконечный скрипт, вы можете обращаться к базе данных через соединение, которое не закрывается после выполнения каждого запроса. Таким образом, вы сможете поддерживать соединение открытым и обращаться к базе данных в любой момент без необходимости повторного подключения.

Что касается ошибки 2006, она обычно возникает из-за того, что сервер MySQL закрывает соединение из-за превышения времени ожидания или другой причины. Для решения этой проблемы, можно попробовать увеличить таймаут соединения в настройках сервера MySQL или переподключаться к базе данных только при необходимости, а не после каждого опроса на наличие новых данных. Также полезно проверять состояние соединения перед выполнением каждого запроса, чтобы убедиться, что оно активно и не было закрыто сервером.
Да, логика правильная. То есть надо переписать код так чтобы отлавливать ошибку с потерей соединения с базой, например в момент неудачного выполнения запроса, переподключаться и повторять запрос. 

Если процедурный код обернуть в простейший класс то сделать всё это будет гораздо проще.
goto и global рекомендую избегать. Всё что можно сделать с ними - можно сделать и без них.
Похожие вопросы