]> granicus.if.org Git - php/commitdiff
Add test for bug #72028
authorAnatol Belski <ab@php.net>
Sat, 16 Apr 2016 14:11:22 +0000 (16:11 +0200)
committerAnatol Belski <ab@php.net>
Sat, 16 Apr 2016 14:11:22 +0000 (16:11 +0200)
ext/pgsql/tests/bug72028.phpt [new file with mode: 0644]

diff --git a/ext/pgsql/tests/bug72028.phpt b/ext/pgsql/tests/bug72028.phpt
new file mode 100644 (file)
index 0000000..217a03a
--- /dev/null
@@ -0,0 +1,52 @@
+--TEST--
+Bug #72028 pg_query_params(): NULL converts to empty string
+--SKIPIF--
+<?php include("skipif.inc"); ?>
+--FILE--
+<?php
+// create test table
+
+include('config.inc');
+
+$conn = pg_connect($conn_str);
+
+$table = "bug72028_" . md5(uniqid(time()));
+
+pg_query("CREATE TABLE $table (value TEXT, details TEXT);");
+
+$sql = "INSERT INTO $table (value, details) VALUES ($1, $2)";
+
+$params = array(null, "insert before looping with a reference");
+$result = pg_query_params($conn, $sql, $params);
+
+$params2 = array(null, "insert after looping with a reference");
+foreach ($params2 as &$p) {
+    // doing nothing
+}
+unset($p);
+
+$result = pg_query_params($conn, $sql, $params2);
+
+$r = pg_query("SELECT * FROM $table");
+while (false !== ($i = pg_fetch_assoc($r))) {
+       var_dump($i);
+}
+
+pg_query("DROP TABLE $table");
+
+?>
+==DONE==
+--EXPECT--
+array(2) {
+  ["value"]=>
+  NULL
+  ["details"]=>
+  string(38) "insert before looping with a reference"
+}
+array(2) {
+  ["value"]=>
+  NULL
+  ["details"]=>
+  string(37) "insert after looping with a reference"
+}
+==DONE==