1--TEST-- 2Bug #81037 PDO discards error message text from prepared statement 3--EXTENSIONS-- 4pdo_mysql 5--SKIPIF-- 6<?php 7require_once __DIR__ . '/inc/mysql_pdo_test.inc'; 8MySQLPDOTest::skip(); 9?> 10--FILE-- 11<?php 12require_once __DIR__ . '/inc/mysql_pdo_test.inc'; 13 14$pdo = MySQLPDOTest::factory(); 15$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 16$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 17 18$table = 'bug81037_pdo_mysql'; 19MySQLPDOTest::createTestTable($table, $pdo); 20 21$sql = "SELECT id FROM {$table} WHERE label = :par"; 22$stmt = $pdo->prepare($sql); 23try { 24 $stmt->execute(); 25} catch (PDOException $e) { 26 echo $e->getMessage(), "\n"; 27} 28$data = $stmt->fetchAll(PDO::FETCH_ASSOC); 29?> 30--CLEAN-- 31<?php 32require_once __DIR__ . '/inc/mysql_pdo_test.inc'; 33$db = MySQLPDOTest::factory(); 34$db->exec('DROP TABLE IF EXISTS bug81037_pdo_mysql'); 35?> 36--EXPECT-- 37SQLSTATE[HY093]: Invalid parameter number 38