uw Fri Jan 4 18:20:53 2008 UTC Added files: (Branch: PHP_5_3) /php-src/ext/mysqli/tests mysqli_fetch_assoc_zerofill.phpt mysqli_stmt_bind_result_zerofill.phpt mysqli_stmt_bind_param_call_user_func.phpt
Modified files: /php-src/ext/mysqli/tests mysqli_change_user_insert_id.phpt mysqli_insert_id.phpt Log: MFH Added: mysqli_fetch_assoc_zerofill.phpt checks for UNSIGNED ZEROFILL mysqli_stmt_bind_result_zerofill.phpt checks for UNSIGNED ZEROFILL mysqli_stmt_bind_param_call_user_func.phpt Needs to be refined once http://bugs.php.net/bug.php?id=43568 has been closed and a decision has been made on call_user_func_array(). There seems to be a BC break between 5_2 -> 5_3 . Johannes has an eye on it Modified: mysqli_change_user_insert_id.phpt skip test for buggy MySQL Server versions mysqli_insert_id.phpt added additional checks
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_change_user_insert_id.phpt?r1=1.1.2.1&r2=1.1.2.2&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_change_user_insert_id.phpt diff -u php-src/ext/mysqli/tests/mysqli_change_user_insert_id.phpt:1.1.2.1 php-src/ext/mysqli/tests/mysqli_change_user_insert_id.phpt:1.1.2.2 --- php-src/ext/mysqli/tests/mysqli_change_user_insert_id.phpt:1.1.2.1 Wed Oct 10 10:13:46 2007 +++ php-src/ext/mysqli/tests/mysqli_change_user_insert_id.phpt Fri Jan 4 18:20:53 2008 @@ -5,6 +5,15 @@ require_once('skipif.inc'); require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); +require_once('connect.inc'); +if (!$IS_MYSQLND) { + if (!$link = mysqli_connect($host, $user, $passwd, $db, $port, $socket)) + die("skip Can't test server version, might hit known bug http://bugs.mysql.com/bug.php?id=30472"); + if (mysqli_get_client_version($link) < 50123) + /* TODO - check wich version got the patch */ + die(sprintf("skip libmysql %s should have bug http://bugs.mysql.com/bug.php?id=30472", mysqli_get_client_version($link))); + mysqli_close($link); +} ?> --FILE-- <?php http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_insert_id.phpt?r1=1.2.2.2&r2=1.2.2.3&diff_format=u Index: php-src/ext/mysqli/tests/mysqli_insert_id.phpt diff -u php-src/ext/mysqli/tests/mysqli_insert_id.phpt:1.2.2.2 php-src/ext/mysqli/tests/mysqli_insert_id.phpt:1.2.2.3 --- php-src/ext/mysqli/tests/mysqli_insert_id.phpt:1.2.2.2 Wed Oct 10 10:16:00 2007 +++ php-src/ext/mysqli/tests/mysqli_insert_id.phpt Fri Jan 4 18:20:53 2008 @@ -1,9 +1,9 @@ --TEST-- mysqli_insert_id() --SKIPIF-- -<?php +<?php require_once('skipif.inc'); -require_once('skipifemb.inc'); +require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); ?> --FILE-- @@ -104,7 +104,7 @@ mysqli_free_result($res); if ($next_id != $row['last_id']) { - printf("[018] Something is wrong, check manually. Expecting %s got %s.\n", + printf("[019] Something is wrong, check manually. Expecting %s got %s.\n", $next_id, $row['last_id']); break; } @@ -112,6 +112,18 @@ mysqli_query($link, "UNLOCK TABLE test"); } + if (!$res = mysqli_query($link, "INSERT INTO test(id, label) VALUES (1000, 'a')")) { + printf("[020] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); + } + if (1000 !== ($tmp = mysqli_insert_id($link))) + printf("[021] Expecting int/1000, got %s/%s\n", gettype($tmp), $tmp); + + if (!$res = mysqli_query($link, "INSERT INTO test(label) VALUES ('b'), ('c')")) { + printf("[022] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); + } + if (1000 >= ($tmp = mysqli_insert_id($link))) + printf("[023] Expecting int/>1000, got %s/%s\n", gettype($tmp), $tmp); + mysqli_close($link); var_dump(mysqli_insert_id($link)); http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_fetch_assoc_zerofill.phpt?view=markup&rev=1.1 Index: php-src/ext/mysqli/tests/mysqli_fetch_assoc_zerofill.phpt +++ php-src/ext/mysqli/tests/mysqli_fetch_assoc_zerofill.phpt --TEST-- mysqli_fetch_assoc() - ZEROFILL --SKIPIF-- <?php require_once('skipif.inc'); require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); ?> --FILE-- <?php require_once('connect.inc'); require_once('table.inc'); function zerofill($offset, $link, $datatype, $insert = 1) { mysqli_query($link, 'ALTER TABLE test DROP zero'); $sql = sprintf('ALTER TABLE test ADD zero %s UNSIGNED ZEROFILL', $datatype); if (!mysqli_query($link, $sql)) { // no worries - server might not support it return true; } if (!mysqli_query($link, sprintf('UPDATE test SET zero = %s', $insert))) { printf("[%03d] UPDATE failed, [%d] %s\n", $offset, mysqli_errno($link), mysqli_error($link)); return false; } if (!($res = mysqli_query($link, 'SELECT zero FROM test LIMIT 1'))) { printf("[%03d] SELECT failed, [%d] %s\n", $offset, mysqli_errno($link), mysqli_error($link)); return false; } $row = mysqli_fetch_assoc($res); $meta = mysqli_fetch_fields($res); mysqli_free_result($res); $meta = $meta[0]; $length = $meta->length; if ($length > strlen($insert)) { $expected = str_repeat('0', $length - strlen($insert)); $expected .= $insert; if ($expected !== $row['zero']) { printf("[%03d] Expecting '%s' got '%s'\n", $offset, $expected, $row['zero']); return false; } } else if ($length <= 1) { printf("[%03d] Length reported is too small to run test\n", $offset); return false; } return true; } zerofill(2, $link, 'TINYINT'); zerofill(3, $link, 'SMALLINT'); zerofill(4, $link, 'MEDIUMINT'); zerofill(5, $link, 'INT'); zerofill(6, $link, 'INTEGER'); zerofill(7, $link, 'BIGINT'); zerofill(8, $link, 'FLOAT'); zerofill(9, $link, 'DOUBLE'); zerofill(10, $link, 'DOUBLE PRECISION'); zerofill(11, $link, 'DECIMAL'); zerofill(12, $link, 'DEC'); mysqli_close($link); print "done!"; ?> --EXPECTF-- done! http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_stmt_bind_result_zerofill.phpt?view=markup&rev=1.1 Index: php-src/ext/mysqli/tests/mysqli_stmt_bind_result_zerofill.phpt +++ php-src/ext/mysqli/tests/mysqli_stmt_bind_result_zerofill.phpt --TEST-- mysqli_stmt_bind_result() - ZEROFILL --SKIPIF-- <?php require_once('skipif.inc'); require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); ?> --FILE-- <?php require_once('connect.inc'); require_once('table.inc'); function zerofill($offset, $link, $datatype, $insert = 1) { mysqli_query($link, 'ALTER TABLE test DROP zero'); $sql = sprintf('ALTER TABLE test ADD zero %s UNSIGNED ZEROFILL', $datatype); if (!mysqli_query($link, $sql)) { // no worries - server might not support it return true; } if (!mysqli_query($link, sprintf('UPDATE test SET zero = %s', $insert))) { printf("[%03d] UPDATE failed, [%d] %s\n", $offset, mysqli_errno($link), mysqli_error($link)); return false; } if (!($stmt = mysqli_prepare($link, 'SELECT zero FROM test LIMIT 1'))) { printf("[%03d] SELECT failed, [%d] %s\n", $offset, mysqli_errno($link), mysqli_error($link)); return false; } $result = null; if (!mysqli_stmt_bind_result($stmt, $result)) { printf("[%03d] Bind failed, [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); return false; } if (!mysqli_stmt_execute($stmt) || !mysqli_stmt_fetch($stmt)) { printf("[%03d] Execute or fetch failed, [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); return false; } $res = mysqli_stmt_result_metadata($stmt); $meta = mysqli_fetch_fields($res); mysqli_stmt_free_result($stmt); $meta = $meta[0]; $length = $meta->length; if ($length > strlen($insert)) { $expected = str_repeat('0', $length - strlen($insert)); $expected .= $insert; if ($expected !== $result) { printf("[%03d] Expecting '%s' got '%s'\n", $offset, $expected, $result); return false; } } else if ($length <= 1) { printf("[%03d] Length reported is too small to run test\n", $offset); return false; } return true; } /* We map those to PHP numeric types - no padding/filling done. Neither with libmysql nor with mysqlnd. zerofill(2, $link, 'TINYINT'); zerofill(3, $link, 'SMALLINT'); zerofill(4, $link, 'MEDIUMINT'); zerofill(5, $link, 'INT'); zerofill(6, $link, 'INTEGER'); zerofill(7, $link, 'BIGINT'); zerofill(8, $link, 'FLOAT'); zerofill(9, $link, 'DOUBLE'); zerofill(10, $link, 'DOUBLE PRECISION'); */ zerofill(11, $link, 'DECIMAL'); zerofill(12, $link, 'DEC'); mysqli_close($link); print "done!"; ?> --EXPECTF-- done! http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_stmt_bind_param_call_user_func.phpt?view=markup&rev=1.1 Index: php-src/ext/mysqli/tests/mysqli_stmt_bind_param_call_user_func.phpt +++ php-src/ext/mysqli/tests/mysqli_stmt_bind_param_call_user_func.phpt --TEST-- mysqli_stmt_bind_param used with call_user_func_array() (see also bug #43568) --SKIPIF-- <?php require_once('skipif.inc'); require_once('skipifemb.inc'); require_once('skipifconnectfailure.inc'); // TODO remove once a decision has been made on call_user_func_array() if (version_compare(PHP_VERSION, '5.3.0-dev') == -1) die("skip needs PHP 5.3.0-dev+, see http://bugs.php.net/bug.php?id=43568"); ?> --FILE-- <?php require('connect.inc'); require('table.inc'); if (!$stmt = mysqli_stmt_init($link)) printf("[001] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); if (!mysqli_stmt_prepare($stmt, 'SELECT id, label FROM test WHERE id = ?')) printf("[002] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $id = 1; if (!mysqli_stmt_bind_param($stmt, 'i', $id) || !mysqli_stmt_execute($stmt)) printf("[003] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $id = $label = null; if (!mysqli_stmt_bind_result($stmt, $id, $label) || (true !== mysqli_stmt_fetch($stmt))) printf("[004] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); print "Regular, procedural, using variables\n"; var_dump($id); var_dump($label); mysqli_stmt_close($stmt); if (!$stmt = mysqli_stmt_init($link)) printf("[005] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); if (!mysqli_stmt_prepare($stmt, 'SELECT id, label FROM test WHERE id = ?')) printf("[006] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $types = 'i'; $id = 1; $params = array( 0 => &$stmt, 1 => &$types, 2 => &$id ); if (!call_user_func_array('mysqli_stmt_bind_param', $params)) printf("[007] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); if (!mysqli_stmt_execute($stmt)) printf("[008] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $id = $label = null; if (!mysqli_stmt_bind_result($stmt, $id, $label) || (true !== mysqli_stmt_fetch($stmt))) printf("[009] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); print "Call user func, procedural, using references for everything\n"; var_dump($id); var_dump($label); mysqli_stmt_close($stmt); if (!$stmt = mysqli_stmt_init($link)) printf("[010] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); if (!mysqli_stmt_prepare($stmt, 'SELECT id, label FROM test WHERE id = ?')) printf("[011] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $types = 'i'; $id = 1; $params = array( 0 => &$types, 1 => &$id ); if (!call_user_func_array(array($stmt, 'bind_param'), $params)) printf("[012] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); if (!mysqli_stmt_execute($stmt)) printf("[013] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $id = $label = null; if (!mysqli_stmt_bind_result($stmt, $id, $label) || (true !== mysqli_stmt_fetch($stmt))) printf("[014] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); print "Call user func, object oriented, using references for everything\n"; var_dump($id); var_dump($label); mysqli_stmt_close($stmt); if (!$stmt = mysqli_stmt_init($link)) printf("[015] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); if (!mysqli_stmt_prepare($stmt, 'SELECT id, label FROM test WHERE id = ?')) printf("[016] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $types = 'i'; $id = 1; $params = array( 0 => $types, 1 => &$id ); if (!call_user_func_array(array($stmt, 'bind_param'), $params)) printf("[017] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); if (!mysqli_stmt_execute($stmt)) printf("[018] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $id = $label = null; if (!mysqli_stmt_bind_result($stmt, $id, $label) || (true !== mysqli_stmt_fetch($stmt))) printf("[019] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); print "Call user func, object oriented, using variable for types. using references for bound parameter\n"; var_dump($id); var_dump($label); mysqli_stmt_close($stmt); if (!$stmt = mysqli_stmt_init($link)) printf("[020] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); if (!mysqli_stmt_prepare($stmt, 'SELECT id, label FROM test WHERE id = ?')) printf("[021] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $id = 1; $params = array( 0 => 'i', 1 => &$id ); if (!call_user_func_array(array($stmt, 'bind_param'), $params)) printf("[022] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); if (!mysqli_stmt_execute($stmt)) printf("[023] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $id = $label = null; if (!mysqli_stmt_bind_result($stmt, $id, $label) || (true !== mysqli_stmt_fetch($stmt))) printf("[024] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); print "Call user func, object oriented, using constant for types. using references for bound parameter\n"; var_dump($id); var_dump($label); mysqli_stmt_close($stmt); if (!$stmt = mysqli_stmt_init($link)) printf("[025] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); if (!mysqli_stmt_prepare($stmt, 'SELECT id, label FROM test WHERE id = ?')) printf("[026] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $types = 'i'; $id = 1; $params = array( 0 => &$stmt, 1 => $types, 2 => &$id ); if (!call_user_func_array('mysqli_stmt_bind_param', $params)) printf("[027] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); if (!mysqli_stmt_execute($stmt)) printf("[028] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $id = $label = null; if (!mysqli_stmt_bind_result($stmt, $id, $label) || (true !== mysqli_stmt_fetch($stmt))) printf("[029] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); print "Call user func, procedural, using references for everything but using variable for types\n"; var_dump($id); var_dump($label); mysqli_stmt_close($stmt); if (!$stmt = mysqli_stmt_init($link)) printf("[025] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); if (!mysqli_stmt_prepare($stmt, 'SELECT id, label FROM test WHERE id = ?')) printf("[026] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $types = 'i'; $id = 1; $params = array( 0 => $stmt, 1 => $types, 2 => &$id ); if (!call_user_func_array('mysqli_stmt_bind_param', $params)) printf("[027] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); if (!mysqli_stmt_execute($stmt)) printf("[028] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $id = $label = null; if (!mysqli_stmt_bind_result($stmt, $id, $label) || (true !== mysqli_stmt_fetch($stmt))) printf("[029] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); print "Call user func, procedural, using references for bound parameter, using variables for resource and types\n"; var_dump($id); var_dump($label); mysqli_stmt_close($stmt); if (!$stmt = mysqli_stmt_init($link)) printf("[030] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); if (!mysqli_stmt_prepare($stmt, 'SELECT id, label FROM test WHERE id = ?')) printf("[031] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $types = 'i'; $id = 1; $params = array( 0 => $stmt, 1 => $types, 2 => &$id ); if (!call_user_func_array('mysqli_stmt_bind_param', $params)) printf("[032] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); if (!mysqli_stmt_execute($stmt)) printf("[033] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $id = $label = null; if (!mysqli_stmt_bind_result($stmt, $id, $label) || (true !== mysqli_stmt_fetch($stmt))) printf("[034] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); print "Call user func, procedural, using references for bound parameter, using variables for resource and types\n"; var_dump($id); var_dump($label); mysqli_stmt_close($stmt); if (!$stmt = mysqli_stmt_init($link)) printf("[035] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); if (!mysqli_stmt_prepare($stmt, 'SELECT id, label FROM test WHERE id = ?')) printf("[036] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $id = 1; $params = array( 0 => $stmt, 1 => 'i', 2 => &$id ); if (!call_user_func_array('mysqli_stmt_bind_param', $params)) printf("[037] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); if (!mysqli_stmt_execute($stmt)) printf("[038] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $id = $label = null; if (!mysqli_stmt_bind_result($stmt, $id, $label) || (true !== mysqli_stmt_fetch($stmt))) printf("[039] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); print "Call user func, procedural, using references for bound parameter, using variable for resource, using constant for types\n"; var_dump($id); var_dump($label); mysqli_stmt_close($stmt); if (!$stmt = mysqli_stmt_init($link)) printf("[040] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); if (!mysqli_stmt_prepare($stmt, 'SELECT id, label FROM test WHERE id = ?')) printf("[041] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $id = 1; if (!call_user_func_array('mysqli_stmt_bind_param', array($stmt, 'i', &$id))) printf("[042] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); if (!mysqli_stmt_execute($stmt)) printf("[043] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $id = $label = null; if (!mysqli_stmt_bind_result($stmt, $id, $label) || (true !== mysqli_stmt_fetch($stmt))) printf("[044] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); print "Call user func, procedural, using references for bound parameter, using variable for resource, using constant for types, array\n"; var_dump($id); var_dump($label); // // Any of those shall fail - see also bugs.php.net/43568 // mysqli_stmt_close($stmt); if (!$stmt = mysqli_stmt_init($link)) printf("[045] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); if (!mysqli_stmt_prepare($stmt, 'SELECT id, label FROM test WHERE id = ?')) printf("[046] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $id = 1; $params = array( 0 => 'i', 1 => $id ); if (call_user_func_array(array($stmt, 'bind_param'), $params)) printf("[047] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); if (!mysqli_stmt_execute($stmt)) printf("[048] [%d] (Message might vary with MySQL Server version, e.g. No data supplied for parameters in prepared statement)\n", mysqli_stmt_errno($stmt)); mysqli_stmt_close($stmt); if (!$stmt = mysqli_stmt_init($link)) printf("[049] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); if (!mysqli_stmt_prepare($stmt, 'SELECT id, label FROM test WHERE id = ?')) printf("[050] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); $types = 'i'; $id = 1; $params = array( 0 => $stmt, 1 => 'i', 2 => $id ); if (call_user_func_array('mysqli_stmt_bind_param', $params)) printf("[051] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt)); if (!mysqli_stmt_execute($stmt)) printf("[052] [%d] (Message might vary with MySQL Server version, e.g. No data supplied for parameters in prepared statement)\n", mysqli_stmt_errno($stmt)); print "done!"; ?> --EXPECTF-- Regular, procedural, using variables int(1) string(1) "a" Call user func, procedural, using references for everything int(1) string(1) "a" Call user func, object oriented, using references for everything int(1) string(1) "a" Call user func, object oriented, using variable for types. using references for bound parameter int(1) string(1) "a" Call user func, object oriented, using constant for types. using references for bound parameter int(1) string(1) "a" Call user func, procedural, using references for everything but using variable for types int(1) string(1) "a" Call user func, procedural, using references for bound parameter, using variables for resource and types int(1) string(1) "a" Call user func, procedural, using references for bound parameter, using variables for resource and types int(1) string(1) "a" Call user func, procedural, using references for bound parameter, using variable for resource, using constant for types int(1) string(1) "a" Call user func, procedural, using references for bound parameter, using variable for resource, using constant for types, array int(1) string(1) "a" [048] [2031] (Message might vary with MySQL Server version, e.g. No data supplied for parameters in prepared statement) [052] [2031] (Message might vary with MySQL Server version, e.g. No data supplied for parameters in prepared statement) done! --UEXPECTF-- Regular, procedural, using variables int(1) unicode(1) "a" Call user func, procedural, using references for everything int(1) unicode(1) "a" Call user func, object oriented, using references for everything int(1) unicode(1) "a" Call user func, object oriented, using variable for types. using references for bound parameter int(1) unicode(1) "a" Call user func, object oriented, using constant for types. using references for bound parameter int(1) unicode(1) "a" Call user func, procedural, using references for everything but using variable for types int(1) unicode(1) "a" Call user func, procedural, using references for bound parameter, using variables for resource and types int(1) unicode(1) "a" Call user func, procedural, using references for bound parameter, using variables for resource and types int(1) unicode(1) "a" Call user func, procedural, using references for bound parameter, using variable for resource, using constant for types int(1) unicode(1) "a" Call user func, procedural, using references for bound parameter, using variable for resource, using constant for types, array int(1) unicode(1) "a" [048] [2031] (Message might vary with MySQL Server version, e.g. No data supplied for parameters in prepared statement) [052] [2031] (Message might vary with MySQL Server version, e.g. No data supplied for parameters in prepared statement) done!
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php