bug67004.phpt 901 B

1234567891011121314151617181920212223242526272829303132333435
  1. --TEST--
  2. Bug #67004: Executing PDOStatement::fetch() more than once prevents releasing resultset
  3. --EXTENSIONS--
  4. pdo_mysql
  5. --SKIPIF--
  6. <?php
  7. require_once(__DIR__ . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc');
  8. MySQLPDOTest::skip();
  9. ?>
  10. --FILE--
  11. <?php
  12. require_once(__DIR__ . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc');
  13. $dbh = MySQLPDOTest::factory();
  14. $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  15. $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
  16. $dbh->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
  17. $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  18. $stmt = $dbh->prepare("SELECT ?");
  19. $stmt->execute(["foo"]);
  20. var_dump($stmt->fetchColumn(0));
  21. $stmt->execute(["bar"]);
  22. var_dump($stmt->fetchColumn(0));
  23. $stmt = $dbh->prepare("SELECT ?");
  24. $stmt->execute(["baz"]);
  25. var_dump($stmt->fetchColumn(0));
  26. ?>
  27. --EXPECT--
  28. string(3) "foo"
  29. string(3) "bar"
  30. string(3) "baz"