diff options
Diffstat (limited to 'ext/pdo_mysql/tests/bug67004.phpt')
-rw-r--r-- | ext/pdo_mysql/tests/bug67004.phpt | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/ext/pdo_mysql/tests/bug67004.phpt b/ext/pdo_mysql/tests/bug67004.phpt new file mode 100644 index 0000000000..98b0a08d0c --- /dev/null +++ b/ext/pdo_mysql/tests/bug67004.phpt @@ -0,0 +1,34 @@ +--TEST-- +Bug #67004: Executing PDOStatement::fetch() more than once prevents releasing resultset +--SKIPIF-- +<?php +require_once(__DIR__ . DIRECTORY_SEPARATOR . 'skipif.inc'); +require_once(__DIR__ . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc'); +MySQLPDOTest::skip(); +?> +--FILE-- +<?php + +require_once(__DIR__ . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc'); +$dbh = MySQLPDOTest::factory(); +$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); +$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); +$dbh->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true); +$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); +$stmt = $dbh->prepare("SELECT ?"); + +$stmt->execute(["foo"]); +var_dump($stmt->fetchColumn(0)); + +$stmt->execute(["bar"]); +var_dump($stmt->fetchColumn(0)); + +$stmt = $dbh->prepare("SELECT ?"); +$stmt->execute(["baz"]); +var_dump($stmt->fetchColumn(0)); + +?> +--EXPECT-- +string(3) "foo" +string(3) "bar" +string(3) "baz" |