Problem
We tell PDO to wrap each issue into exception. In some cases it generates a few warnings and only then throws exception.
Why does it do it?
Duplicates?
There were no correct answers on SO regarding it. Last question was PHP PDO Exception + Warning on MySQL Has Gone Away? but people just marked it as duplicate instead of carefully answer.
Accepted answer not answers why does it do it and when. So I researched and will answer.
It's because of PDO could use mysqlnd driver, which not respects any of PDO's "convert-issues-to-extensions" policy.
Just look at sources of mysqlnd driver.
We clearly see there direct calls to php_error_docref
.
And one of examples, shown at previous question explained by these lines: https://github.com/php/php-src/blob/PHP-5.5.31/ext/mysqlnd/mysqlnd_wireprotocol.c#L35:L61
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With