List:Commits« Previous MessageNext Message »
From:uwendel Date:June 25 2007 2:47pm
Subject:PHP mysqlnd svn commit: r461 - trunk/tests/ext/mysqli
View as plain text  
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/mysqliuwendel25 Jun