title: PDO bindValue with \PDO::PARAM_BOOL causes statement execute to fail silently
body: <p>In one server setup I experience very strange error. There's PHP 5.3.6 with PDO Driver for MySQL, client library version 5.1.61. Everything is compiled by hand.</p>
  
  <p>When I bind params with bindValue and set third parameter as \PDO::PARAM_BOOL then statement execute return false and nothing happens (no data inserted to MySQL, even no exception at all). When I don't use third parameter it goes well. In fact I can't ommit third parameter, bacues Doctrine2 DBAL sets it while converting parameters...</p>
  
  <p>Here's code:</p>
  
  <pre><code>&lt;?php
  $pdo = new \PDO('mysql:host=***;dbname=***', '***', '***'); // hidden DB access
  $pdo-&gt;setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
  
  $stmt = $pdo-&gt;prepare('insert into outage (name, description, start_at, end_at, is_exception, extranet_id) values (?,?,?,?,?,?)');
  $stmt-&gt;bindValue(1, 'Test name', \PDO::PARAM_STR);
  $stmt-&gt;bindValue(2, 'Test desc', \PDO::PARAM_STR);
  $stmt-&gt;bindValue(3, '2012-01-01 00:00:00', \PDO::PARAM_STR);
  $stmt-&gt;bindValue(4, null, \PDO::PARAM_NULL);
  $stmt-&gt;bindValue(5, false, \PDO::PARAM_BOOL);
  $stmt-&gt;bindValue(6, 2, \PDO::PARAM_INT);
  var_dump(array('stmt result' =&gt; ($result = $stmt-&gt;execute()), 'last insert id' =&gt; $pdo-&gt;lastInsertId(), 'stmt err code' =&gt;  $stmt-&gt;errorCode(), 'pdo err code' =&gt;  $pdo-&gt;errorCode()));
  </code></pre>
  
  <p>Result:</p>
  
  <pre><code>array(4) {
    ["stmt result"]=&gt;
    bool(false)
    ["last insert id"]=&gt;
    string(1) "0"
    ["stmt err code"]=&gt;
    string(5) "00000"
    ["pdo err code"]=&gt;
    string(5) "00000"
  }
  </code></pre>
  
  <p>What possibly could go wrong? I've tried it on other 4 servers and didn't get this bug. Also if I pass '0' (as a string) to <code>$stmt-&gt;bindValue(5, false, \PDO::PARAM_BOOL);</code> it works good.</p>