Мне нужно вставить строку в базу данных с использованием PDO. Но он не работает, и он не печатает никаких ошибок, поэтому я не знаю, где проблема.PHP не отображает ошибку PDO, даже если я устанавливаю обработку ошибок
Соединение в порядке, потому что я могу запускать запросы UPDATE.
Но на этом запросе он застревает без печати любой ошибки:
$dbtype = "mysql";
$dbhost = "xxx";
$dbname = "xxx";
$dbuser = "xxx";
$dbpass = "xxx";
$db = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO users (id, name) VALUES (:id,:name)";
$q = $db->prepare($sql);
$q->execute(array(
':id'=>$id,
':name'=>$name
));
есть ли другой способ отладки, кроме этой команды?
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
положить print_r ($ conn-> errorInfo()); после выполнения и получить то, что является ошибкой? –
Это всегда пусто: Array ([0] => 00000 [1] => [2] =>) – JackDavis
Заменить: id -> id и: name -> name without:. – vanadium23