80_bug27597.phpt 889 B

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