summaryrefslogtreecommitdiff
path: root/ext/pgsql/tests
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2016-04-16 16:11:22 +0200
committerAnatol Belski <ab@php.net>2016-04-16 16:11:22 +0200
commitfd6f7b83411819361d89fa53247e6f1cb2683cd4 (patch)
tree5d0e5099c17d71a33bc3dd190e47317bf4b7d5e9 /ext/pgsql/tests
parentd8590940a19cdf5039c9ee52c901b2e4a9f9d769 (diff)
downloadphp-git-fd6f7b83411819361d89fa53247e6f1cb2683cd4.tar.gz
Add test for bug #72028
Diffstat (limited to 'ext/pgsql/tests')
-rw-r--r--ext/pgsql/tests/bug72028.phpt52
1 files changed, 52 insertions, 0 deletions
diff --git a/ext/pgsql/tests/bug72028.phpt b/ext/pgsql/tests/bug72028.phpt
new file mode 100644
index 0000000000..217a03abc7
--- /dev/null
+++ b/ext/pgsql/tests/bug72028.phpt
@@ -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==