80_bug27597.phpt 847 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. --TEST--
  2. Bug #27597 (pg_fetch_array not returning false)
  3. --SKIPIF--
  4. <?php
  5. require_once('skipif.inc');
  6. ?>
  7. --FILE--
  8. <?php
  9. require_once(dirname(__FILE__) . '/config.inc');
  10. $dbh = @pg_connect($conn_str);
  11. if (!$dbh) {
  12. die ("Could not connect to the server");
  13. }
  14. @pg_query("DROP TABLE id");
  15. pg_query("CREATE TABLE id (id INT)");
  16. for ($i=0; $i<4; $i++) {
  17. pg_query("INSERT INTO id (id) VALUES ($i)");
  18. }
  19. function xi_fetch_array($res, $type = PGSQL_ASSOC) {
  20. $a = pg_fetch_array($res, NULL, $type) ;
  21. return $a ;
  22. }
  23. $res = pg_query("SELECT * FROM id");
  24. $i = 0; // endless-loop protection
  25. while($row = xi_fetch_array($res)) {
  26. print_r($row);
  27. if ($i++ > 4) {
  28. echo "ENDLESS-LOOP";
  29. exit(1);
  30. }
  31. }
  32. pg_close($dbh);
  33. ?>
  34. ===DONE===
  35. --EXPECTF--
  36. Array
  37. (
  38. [id] => 0
  39. )
  40. Array
  41. (
  42. [id] => 1
  43. )
  44. Array
  45. (
  46. [id] => 2
  47. )
  48. Array
  49. (
  50. [id] => 3
  51. )
  52. ===DONE===