Author: uwendel
Date: 2007-06-25 14:47:17 +0200 (Mon, 25 Jun 2007)
New Revision: 461
Modified:
trunk/tests/ext/mysqli/mysqli_stmt_init.phpt
trunk/tests/ext/mysqli/mysqli_stmt_store_result.phpt
Log:
Implemented test for mysqli_stmt_store_result().
Modified: trunk/tests/ext/mysqli/mysqli_stmt_init.phpt
===================================================================
--- trunk/tests/ext/mysqli/mysqli_stmt_init.phpt 2007-06-25 10:41:45 UTC (rev 460)
+++ trunk/tests/ext/mysqli/mysqli_stmt_init.phpt 2007-06-25 12:47:17 UTC (rev 461)
@@ -24,7 +24,10 @@
require('table.inc');
if (!is_object($stmt = mysqli_stmt_init($link)))
- printf("[003] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
+ printf("[003] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
+
+ if (!is_object($stmt2 = @mysqli_stmt_init($link)))
+ printf("[003a] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
mysqli_stmt_close($stmt);
Modified: trunk/tests/ext/mysqli/mysqli_stmt_store_result.phpt
===================================================================
--- trunk/tests/ext/mysqli/mysqli_stmt_store_result.phpt 2007-06-25 10:41:45 UTC (rev 460)
+++ trunk/tests/ext/mysqli/mysqli_stmt_store_result.phpt 2007-06-25 12:47:17 UTC (rev 461)
@@ -1,10 +1,9 @@
--TEST--
-mysqli_stmt_store_result() - STUB
+mysqli_stmt_store_result()
--SKIPIF--
<?php
require_once('skipif.inc');
require_once('skipifemb.inc');
-die("skip: test not implemented. BTW, will we also implement mysqli_stmt_use_result?");
?>
--FILE--
<?php
@@ -13,69 +12,74 @@
$tmp = NULL;
$link = NULL;
- if (!is_null($tmp = @mysqli_stmt_execute()))
+ if (!is_null($tmp = @mysqli_stmt_store_result()))
printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
- if (!is_null($tmp = @mysqli_stmt_execute($link)))
- printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
+ if (!is_null($tmp = @mysqli_stmt_store_result($link)))
+ printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
require('table.inc');
+ if (!is_null($tmp = @mysqli_stmt_store_result(new mysqli_stmt())))
+ printf("[003] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
+
if (!$stmt = mysqli_stmt_init($link))
- printf("[003] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
+ printf("[004] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
// stmt object status test
- if (NULL !== ($tmp = mysqli_stmt_execute($stmt)))
- printf("[004] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
+ if (NULL !== ($tmp = @mysqli_stmt_store_result($stmt)))
+ printf("[005] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
- if (mysqli_stmt_prepare($stmt, "SELECT i_do_not_exist_believe_me FROM test ORDER BY
id"))
- printf("[005] Statement should have failed!\n");
+ if (!mysqli_stmt_prepare($stmt, 'INSERT INTO test(id, label) VALUES (100, "z")') ||
+ !mysqli_stmt_execute($stmt))
+ printf("[006] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- // stmt object status test
- if (NULL !== ($tmp = mysqli_stmt_execute($stmt)))
- printf("[006] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
+ if (true !== ($tmp = @mysqli_stmt_store_result($stmt)))
+ printf("[007] Expecting boolean/true, got %s/%s\n", gettype($tmp), $tmp);
+
+ if (!mysqli_stmt_prepare($stmt, 'SELECT id, label FROM test ORDER BY id') ||
+ !mysqli_stmt_execute($stmt))
+ printf("[008] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- if (!mysqli_stmt_prepare($stmt, "SELECT id FROM test ORDER BY id LIMIT 1"))
- printf("[007] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
+ if (!$link_buf = mysqli_connect($host, $user, $passwd, $db, $port, $socket))
+ printf("[009] [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
- if (true !== ($tmp = mysqli_stmt_execute($stmt)))
- printf("[008] Expecting boolean/true, got %s/%s. [%d] %s\n",
- gettype($tmp), $tmp, mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
+ if (!$stmt_buf = mysqli_stmt_init($link_buf))
+ printf("[010] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
- if (!mysqli_stmt_prepare($stmt, "INSERT INTO test(id, label) VALUES (?, ?)"))
- printf("[009] [%d] %s\n", mysqli_stmt_execute($stmt),
mysqli_stmt_execute($stmt));
+ if (!mysqli_stmt_prepare($stmt_buf, "SELECT id, label FROM test ORDER BY id") ||
+ !mysqli_stmt_execute($stmt_buf))
+ printf("[011] [%d] %s\n", mysqli_stmt_errno($stmt_buf),
mysqli_stmt_error($stmt_buf));
- // no input variables bound
- if (false !== ($tmp = mysqli_stmt_execute($stmt)))
- printf("[010] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
+ $id = $label = $id_buf = $label_buf = null;
+ if (!mysqli_stmt_bind_result($stmt, $id, $label))
+ printf("[012] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
- $id = 100;
- $label = "z";
- if (!mysqli_stmt_bind_param($stmt, "is", $id, $label))
- printf("[011] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
+ if (!mysqli_stmt_bind_result($stmt_buf, $id_buf, $label_buf))
+ printf("[013] [%d] %s\n", mysqli_stmt_errno($stmt_buf),
mysqli_stmt_error($stmt_buf));
- if (true !== ($tmp = mysqli_stmt_execute($stmt)))
- printf("[012] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
+ while (mysqli_stmt_fetch($stmt)) {
+ if (!mysqli_stmt_fetch($stmt_buf)) {
+ printf("[014] Unbuffered statement indicates more rows than buffered, [%d]
%s\n",
+ mysqli_stmt_errno($stmt_buf), mysqli_stmt_error($stmt_buf));
+ }
+ if ($id !== $id_buf)
+ printf("[015] unbuffered '%s'/%s, buffered '%s'/%s\n",
+ $id, gettype($id), $id_buf, gettype($id_buf));
+ if ($label !== $label_buf)
+ printf("[016] unbuffered '%s'/%s, buffered '%s'/%s\n",
+ $label, gettype($label), $label_buf, gettype($label_buf));
+ }
- mysqli_kill($link, mysqli_thread_id($link));
-
- if (false !== ($tmp = mysqli_stmt_execute($stmt)))
- printf("[014] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
-
mysqli_stmt_close($stmt);
+ mysqli_stmt_close($stmt_buf);
- if (NULL !== ($tmp = mysqli_stmt_execute($stmt)))
- printf("[015] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
+ if (NULL !== ($tmp = @mysqli_stmt_store_result($stmt)))
+ printf("[017] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
mysqli_close($link);
+ mysqli_close($link_buf);
print "done!";
?>
--EXPECTF--
-Warning: mysqli_stmt_execute(): invalid object or resource mysqli_stmt
- in %s on line %d
-
-Warning: mysqli_stmt_execute(): invalid object or resource mysqli_stmt
- in %s on line %d
-
-Warning: mysqli_stmt_execute(): Couldn't fetch mysqli_stmt in %s on line %d
done!
| Thread |
|---|
| • PHP mysqlnd svn commit: r461 - trunk/tests/ext/mysqli | uwendel | 25 Jun |