title: PDOStatement::fetch occasionally returns false, but errorInfo() is empty
body: <p>I am having strange problem with PDO. Code is like this:</p>
  
  <pre><code>$dbh = new PDO($dsn, $user, $password);
  $dbh-&gt;setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  try {
    $sth = $dbh-&gt;prepare("SELECT ... FROM .... ");
    $sth-&gt;execute();
    $result = $sth-&gt;fetch(PDO::FETCH_ASSOC);
    if (!$result) {
      print_r($dbh-&gt;errorInfo());
      print_r($sth-&gt;errorInfo());
    }
  } catch(PDOException $e) {
    print_r($e-&gt;getMessage());
  }
  </code></pre>
  
  <p>So it's very common use of PDO. And the code works as expected most of the time. But occasionally <code>$result</code> is false. What is strange is that both PDO::errorInfo() and PDOStatement::errorInfo() return empty array like this:</p>
  
  <pre><code>array(3) {
    [0]=&gt; string(5) "00000"
    [1]=&gt; NULL
    [2]=&gt; NULL
  }
  </code></pre>
  
  <p>I suspect there is some problem with MySQL connection, however connection works fine, doesn't throw any exceptions, MySQL server is idle, there is enough connections available. There are no errors in MySQL or PHP log.</p>
  
  <p>So my question is, how to troubleshoot this problem more ? I need to know, why sometimes fetch() fails with false and there is no information about error in errorInfo()</p>