title: $mysqli->prepare returns false, but $mysqli->error is an empty string
body: <p>In my code, I execute several valid SQL statements. But one of statement was invalid ($mysqli->prepare returns false), but no error code was returned ($mysqli->error returns false).</p>
  
  <p>Here an example of the code:</p>
  
  <pre><code>$mysqli = new mysqli('host', 'user', 'password', 'database');
  
  // First query (valid)
  if(($oStatement = $mysqli-&gt;prepare('SELECT column FROM table;')) === false)
    throw new Exception('Error in statement: ' . $mysqli-&gt;error);
  
  // ...
  
  // Second query (invalid)
  if(($oStatement = $mysqli-&gt;prepare('SELECT column_which_doesnt_exist FROM table;')) === false)
    throw new Exception('Error in statement: ' . $mysqli-&gt;error);
  </code></pre>
  
  <p>Why doesn't it return the error message?</p>