summaryrefslogtreecommitdiff
path: root/ext/mysqli/tests/003.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/mysqli/tests/003.phpt')
-rw-r--r--ext/mysqli/tests/003.phpt103
1 files changed, 103 insertions, 0 deletions
diff --git a/ext/mysqli/tests/003.phpt b/ext/mysqli/tests/003.phpt
new file mode 100644
index 0000000..9374763
--- /dev/null
+++ b/ext/mysqli/tests/003.phpt
@@ -0,0 +1,103 @@
+--TEST--
+mysqli connect
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+require_once('skipifconnectfailure.inc');
+?>
+--FILE--
+<?php
+ require_once("connect.inc");
+
+ $link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket);
+
+ mysqli_query($link, "SET sql_mode=''");
+
+ if (!mysqli_query($link,"DROP TABLE IF EXISTS test_bind_result"))
+ printf("[001] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
+
+ $rc = @mysqli_query($link,"CREATE TABLE test_bind_result(
+ c1 date,
+ c2 time,
+ c3 timestamp(14),
+ c4 year,
+ c5 datetime,
+ c6 timestamp(4),
+ c7 timestamp(6)) ENGINE=" . $engine);
+
+ /*
+ Seems that not all MySQL 6.0 installations use defaults that ignore the display widths.
+ From the manual:
+ From MySQL 4.1.0 on, TIMESTAMP display format differs from that of earlier MySQL releases:
+ [...]
+ Display widths (used as described in the preceding section) are no longer supported.
+ In other words, for declarations such as TIMESTAMP(2), TIMESTAMP(4), and so on,
+ the display width is ignored.
+ [...]
+ */
+ if (!$rc)
+ $rc = @mysqli_query($link,"CREATE TABLE test_bind_result(
+ c1 date,
+ c2 time,
+ c3 timestamp,
+ c4 year,
+ c5 datetime,
+ c6 timestamp,
+ c7 timestamp) ENGINE=" . $engine);
+
+ if (!$rc)
+ printf("[002] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
+
+ $rc = mysqli_query($link, "INSERT INTO test_bind_result VALUES(
+ '2002-01-02',
+ '12:49:00',
+ '2002-01-02 17:46:59',
+ 2010,
+ '2010-07-10',
+ '2020','1999-12-29')");
+ if (!$rc)
+ printf("[003] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
+
+ $stmt = mysqli_prepare($link, "SELECT c1, c2, c3, c4, c5, c6, c7 FROM test_bind_result");
+ mysqli_stmt_bind_result($stmt, $c1, $c2, $c3, $c4, $c5, $c6, $c7);
+ mysqli_stmt_execute($stmt);
+ mysqli_stmt_fetch($stmt);
+
+ $test = array($c1,$c2,$c3,$c4,$c5,$c6,$c7);
+
+ var_dump($test);
+
+ mysqli_stmt_close($stmt);
+ mysqli_query($link, "DROP TABLE IF EXISTS test_bind_result");
+ mysqli_close($link);
+ print "done!";
+?>
+--CLEAN--
+<?php
+require_once("connect.inc");
+if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+ printf("[c001] [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
+
+if (!mysqli_query($link, "DROP TABLE IF EXISTS test_bind_result"))
+ printf("[c002] Cannot drop table, [%d] %s\n", mysqli_errno($link), mysqli_error($link));
+
+mysqli_close($link);
+?>
+--EXPECTF--
+array(7) {
+ [0]=>
+ %unicode|string%(10) "2002-01-02"
+ [1]=>
+ %unicode|string%(8) "12:49:00"
+ [2]=>
+ %unicode|string%(19) "2002-01-02 17:46:59"
+ [3]=>
+ int(2010)
+ [4]=>
+ %unicode|string%(19) "2010-07-10 00:00:00"
+ [5]=>
+ %unicode|string%(19) "0000-00-00 00:00:00"
+ [6]=>
+ %unicode|string%(19) "1999-12-29 00:00:00"
+}
+done! \ No newline at end of file