Ошибка ввода PDO при выполнении

Я не могу найти свою ошибку, я получаю ошибку выполнения Execute

$db = new PDO('mysql:host=localhost; dbname=xxxxxx', 'yyyyyy', 'zzzzzz', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")) or die ("fail");; $query = "INSERT INTO multiTicker (mtgox,btcstamp,btce,btcchina,myDateTime) VALUES (:mtgox,:btcstamp,:btce,:btcchina,:myDateTime)"; $st = $db->prepare($query) or die ("Query fail"); $st->execute(array(':mtgox' => $mtgox, ':btcstamp' => $btcstamp, ':btce' => $btce, ':btcchina' => $btcchina, ':myDateTime' => $myDateTime)) or die ("Execute fail"); 

Solutions Collecting From Web of "Ошибка ввода PDO при выполнении"

Похоже, ваш DSN неверен (у вас в нем есть пробел). Попробуйте этот конструктор PDO и прекратите использовать or die() !

 $db = new PDO('mysql:host=localhost;dbname=xxxxxx;charset=utf8', 'yyyyyy', 'zzzzzz', array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC)); $query = "INSERT INTO multiTicker (mtgox,btcstamp,btce,btcchina,myDateTime) VALUES (:mtgox,:btcstamp,:btce,:btcchina,:myDateTime)"; $st = $db->prepare($query); $st->execute(array( ':mtgox' => $mtgox, ':btcstamp' => $btcstamp, ':btce' => $btce, ':btcchina' => $btcchina, ':myDateTime' => $myDateTime )); 

Вам не нужно устанавливать режим выборки по умолчанию для PDO::FETCH_ASSOC но я считаю, что это удобно.