sql >> Database teknologi >  >> RDS >> Mysql

PHP PDO-undtagelse + Advarsel på MySQL er forsvundet?

Du indstiller wait_timeout til 1 så sover du 3, hvad sker der? MySql vil lukke forbindelsen efter et sekund, og du vil få fejlmeddelelsen "Mysql Server has gone" med næste sætning, fordi du sover i 3.

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

rediger

Spørgsmålet er duplikat af MySQL-fejl 2006:mysql serveren er gået væk

rediger 2

Årsager til denne fejl:

  • low wait_timeout - løsning:ping, genopret forbindelse eller øg den også
  • store pakker - løsning:tune max_allowed_packet i my.cfg

PDO gentilslut - simuler ping i PDO Hvordan pinger jeg MySQL-db'en og genopretter forbindelse ved hjælp af PDO

rediger 3 spørgsmål opdateret

Den eneste måde (afaik) at slippe af med disse advarsler er at indstille forventet (f.eks. E_ERROR) fejlrapportering niveau. Du kan indpakke pdo-kald i for eksempel for at indstille E_ERROR før og nulstille til standard efter udførelse.

PDO logger advarsler/fejl til logformål (sic!) for yderligere analyser. Attributten du indstiller (af setAttribute eller constructor) ændrer kun fejlhåndtering/adfærd af pdo - throw or not:). Disse to ting er adskilt.



  1. Mest effektive T-SQL måde at polstre en varchar til venstre til en vis længde?

  2. Tekst eller numerisk felt - En simpel SQL-metode til at skifte datatype

  3. 5 trin til at opbygge en marketingdatabase

  4. node.js mysql fejl:ECONNREFUSED