PHP PDO show some inexplicable behaviour. The parameter placeholders are replaced with the same values.
$query
UPDATE `newsletters` SET `title` = :title , `scheduled` = :scheduled , `modified` = :modified WHERE `id` = :id
$parameter
Array
(
    [:title] => New Newsletter22
    [:scheduled] => 2013-04-15 21:47:00
    [:modified] => 2013-04-15 21:47:51
    [:id] => 35
)
The Function
public  static function execute($query=null,$parameters=array())
{
    global $dbnew;
    $statement= $dbnew->prepare($query);
        foreach($parameters as $k=>$v){
            if(is_array($v)){
                $statement->bindParam($k, $v[0],$v[1]);
            }else{
                $statement->bindParam($k, $v);
            }
        }
    $statement->execute();
    return $statement;
}
Executed query
1132 Query  UPDATE `newsletters` SET `title` = '35' , `scheduled` = '35' , `modified` = '35' WHERE `id` = '35'
 
    