Mysql
 sql >> база данни >  >> RDS >> Mysql

Изключение на PHP PDO + предупреждение за MySQL изчезна ли?

Вие задавате wait_timeout до 1 тогава спиш 3, какво ще стане? MySql ще затвори връзката след една секунда и ще получите грешка „Mysql Server е изчезнал“ със следващото изявление, защото спите 3.

http://dev.mysql.com /doc/refman/5.1/en/server-system-variables.html#sysvar_wait_timeout

редактиране

Въпросът е дубликат на MySQL грешка 2006:mysql сървърът е изчезнал

редактиране 2

Причини за тази грешка:

  • ниско изчакване_време за изчакване – решение:пинг, повторно свързване или също го увеличете
  • големи пакети - решение:настройте max_allowed_packet в my.cfg

PDO повторно свързване - симулирайте ping в PDO Как да пингувам на MySQL db и да се свържа отново чрез PDO

редактиране 3 въпросът е актуализиран

Единственият начин (afaik) да се отървете от тези предупреждения е да зададете очаквано (напр. E_ERROR) отчитане_за_грешки ниво. Можете да обвиете pdo извиквания, например, за да зададете E_ERROR преди и да нулирате по подразбиране след изпълнение.

PDO регистрира предупреждения/грешки за регистрационни цели (sic!) за по-нататъшен анализ. Атрибутът, който задавате (от setAttribute или конструктор), променя само обработката на грешките/поведението на pdo - хвърляне или не:). Тези две неща са разделени.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Връща 1,0 в нова променлива въз основа на случай, когато израз се отнася до множество други променливи

  2. MySQL - NULL safe NOT равен оператор

  3. Използване на Oracle JDeveloper с MySQL Database Service на Oracle Cloud Platform, част 1

  4. MYSQL Дедуплицирайте и премахнете дублиращия се ред с най-малко данни

  5. MYSQL:Обединете две таблици в една, с обединение