title: Issue exploding a string array when using PDO
body: <p>The issue is when I execute a <code>var_dump()</code> I receive the desired result, but when PDO handles it skips over one of the array entries it seems as I am not receive the desired result. </p>
  
  <pre><code>  $bd = $userObj-&gt;fetchPanel(array('category_id'=&gt;$cdata['id']));
                  //echo '&lt;pre&gt;'; var_dump($bd); echo '&lt;/pre&gt;';die;
                  $barr = array();
                  if(count($bd) &gt; 0){
                  foreach($bd as $bval){
                      $barr[] = $bval['id'];              
                  }}
  
                 echo '&lt;pre&gt;'; var_dump(implode(',', $barr)); echo '&lt;/pre&gt;';
  </code></pre>
  
  <p><code>var_dump()</code> returned - <code>string(7) "270,498"</code> - which what is desired.</p>
  
  <pre><code>                $bragdataarr = $db-&gt;dbh-&gt;prepare("SELECT p.id,p.brag,p.brag_desc,p.brag_id,p.user_id, p.panel_id,p.domainurl,p.type,p.price FROM ".USERS_BRAG." as p left join ".USERS." as u on p.user_id=u.id WHERE u.status !=0 AND p.panel_id IN (:imp) AND p.status = :status ORDER BY p.id DESC LIMIT :lim, :page");
  
                  echo '&lt;pre&gt;'; var_dump(implode(',', $barr)); echo '&lt;/pre&gt;';
  </code></pre>
  
  <p><code>var_dump()</code> returned - <code>string(7) "270,498"</code> - which what is desired.</p>
  
  <pre><code>                $imp = implode(',',$barr);
  
                  echo '&lt;pre&gt;'; var_dump($imp); echo '&lt;/pre&gt;';
  </code></pre>
  
  <p><code>var_dump()</code> returned - <code>string(7) "270,498"</code> - which what is desired.</p>
  
  <pre><code>                $brgdataarr-&gt;bindValue(':imp',$imp ? $imp : "",PDO::PARAM_STR);
  
  echo '&lt;pre&gt;'; var_dump($bragdataarr-&gt;bindValue(':imp',$imp ? $imp : "",PDO::PARAM_STR)); echo '&lt;/pre&gt;';
  </code></pre>
  
  <p><code>var_dump()</code> returned - <code>bool(true)</code> - which what is desired. But, what is displayed is only String '270' instead of both '270,498'. Why is this happening?</p>
  
  <pre><code>                $brgdataarr-&gt;bindValue(':status',1, PDO::PARAM_INT);                
                  $brgdataarr-&gt;bindValue(':lim',$limit_start, PDO::PARAM_INT);
                  $brgdataarr-&gt;bindValue(':page',$page_records, PDO::PARAM_INT);                  
                  $brgdataarr-&gt;execute();                
                  $brgdataarr = $brgdataarr-&gt;fetchAll(PDO::FETCH_ASSOC);
  </code></pre>
  
  <p>From my troubleshooting, I have found that this happens only when I use <code>bindValue()</code> with implode. If I include implode in the SQL statement implode works properly, but I receive empty string error when implode comes across it.</p>
  
  <p>example: </p>
  
  <pre><code> $brgdataarr = $db-&gt;dbh-&gt;prepare("SELECT p.id,p.brag,p.brag_desc,p.brag_id,p.user_id, p.panel_id,p.domainurl,p.type,p.price FROM ".USERS_BRAG." as p left join ".USERS." as u on p.user_id=u.id WHERE u.status !=0 AND p.panel_id IN (".implode(',',$barr).") AND p.status = :status ORDER BY p.id DESC LIMIT :lim, :page");
  </code></pre>