bug72028.phpt 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. --TEST--
  2. Bug #72028 pg_query_params(): NULL converts to empty string
  3. --EXTENSIONS--
  4. pgsql
  5. --SKIPIF--
  6. <?php include("skipif.inc"); ?>
  7. --FILE--
  8. <?php
  9. // create test table
  10. include('config.inc');
  11. $conn = pg_connect($conn_str);
  12. $table = "bug72028_" . md5(uniqid(time()));
  13. pg_query($conn, "CREATE TABLE $table (value TEXT, details TEXT);");
  14. $sql = "INSERT INTO $table (value, details) VALUES ($1, $2)";
  15. $params = array(null, "insert before looping with a reference");
  16. $result = pg_query_params($conn, $sql, $params);
  17. $params2 = array(null, "insert after looping with a reference");
  18. foreach ($params2 as &$p) {
  19. // doing nothing
  20. }
  21. unset($p);
  22. $result = pg_query_params($conn, $sql, $params2);
  23. $r = pg_query($conn, "SELECT * FROM $table");
  24. while (false !== ($i = pg_fetch_assoc($r))) {
  25. var_dump($i);
  26. }
  27. pg_query($conn, "DROP TABLE $table");
  28. ?>
  29. --EXPECT--
  30. array(2) {
  31. ["value"]=>
  32. NULL
  33. ["details"]=>
  34. string(38) "insert before looping with a reference"
  35. }
  36. array(2) {
  37. ["value"]=>
  38. NULL
  39. ["details"]=>
  40. string(37) "insert after looping with a reference"
  41. }