come da documentazione http://www.php.net/manual/en/pdostatement.execute.php execute tratta tutti i parametri come se fossero stringhe. Quindi se vuoi un enforce del tipo di dato, o se devi fare cose piu complicate, devi usare bindValue.