--TEST-- GH-8626: PDOStatement->execute() failed, then execute successfully, errorInfo() information is incorrect --EXTENSIONS-- pdo --SKIPIF-- getAttribute(PDO::ATTR_DRIVER_NAME) == 'oci') { die("xfail OCI driver errorInfo is inconsistent with other PDO drivers"); } ?> --FILE-- setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT); $db->exec('DROP TABLE test'); $db->exec('CREATE TABLE test (x int NOT NULL)'); $stmt = $db->prepare('INSERT INTO test VALUES(?)'); // fail var_dump($stmt->execute([null]), $stmt->errorCode()); $errorInfo = $stmt->errorInfo(); var_dump(array_slice($errorInfo, 0, 3)); // odbc, dblib $stmt->closeCursor(); // sqlite // success var_dump($stmt->execute([1]), $stmt->errorCode()); $errorInfo = $stmt->errorInfo(); var_dump(array_slice($errorInfo, 0, 3)); // odbc, dblib ?> ===DONE=== --EXPECTF-- bool(false) string(%d) "%s" array(3) { [0]=> string(%d) "%s" [1]=> int(%i) [2]=> string(%d) "%s%w%S" } bool(true) string(5) "00000" array(3) { [0]=> string(5) "00000" [1]=> NULL [2]=> NULL } ===DONE===