uw Mon Jul 23 12:28:56 2007 UTC Added files: /php-src/ext/mysqli/tests mysqli_fetch_field_direct_oo.phpt mysqli_fetch_field_direct.phpt mysqli_fetch_field_oo.phpt mysqli_fetch_field.phpt mysqli_fetch_fields.phpt Log: Tests that check mysqli_fetch_field(), mysqli_fetch_field_direct() and retrieve metadata
http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_fetch_field_direct_oo.phpt?view=markup&rev=1.1 Index: php-src/ext/mysqli/tests/mysqli_fetch_field_direct_oo.phpt +++ php-src/ext/mysqli/tests/mysqli_fetch_field_direct_oo.phpt --TEST-- $res->fetch_field_direct(s) --SKIPIF-- <?php require_once('skipif.inc'); ?> <?php require_once('skipifemb.inc'); ?> --FILE-- <?php include "connect.inc";
$tmp = NULL; $link = NULL; $mysqli = new mysqli(); $res = @new mysqli_result($mysqli); if (!is_null($tmp = @$res->fetch_field_direct())) printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); require('table.inc'); if (!$mysqli = new mysqli($host, $user, $passwd, $db, $port, $socket)) printf("[002] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n", $host, $user, $db, $port, $socket); if (!$res = $mysqli->query("SELECT id AS ID, label FROM test AS TEST ORDER BY id LIMIT 1")) { printf("[003] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); } if (!is_null($tmp = @$res->fetch_field_direct())) printf("[004] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); if (!is_null($tmp = @$res->fetch_field_direct($link))) printf("[005] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); if (!is_null($tmp = @$res->fetch_field_direct($link, $link))) printf("[006] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); var_dump($res->fetch_field_direct(-1)); var_dump($res->fetch_field_direct(0)); var_dump($res->fetch_field_direct(2)); $res->free_result(); if (NULL !== ($tmp = $res->fetch_field_direct(0))) printf("[007] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); $mysqli->close(); print "done!"; ?> --EXPECTF-- Warning: mysqli_result::fetch_field_direct(): Field offset is invalid for resultset in %s on line %d bool(false) object(stdClass)#%d (11) { ["name"]=> string(2) "ID" ["orgname"]=> string(2) "id" ["table"]=> string(4) "TEST" ["orgtable"]=> string(4) "test" ["def"]=> string(0) "" ["max_length"]=> int(%d) ["length"]=> int(11) ["charsetnr"]=> int(%d) ["flags"]=> int(%d) ["type"]=> int(%d) ["decimals"]=> int(%d) } Warning: mysqli_result::fetch_field_direct(): Field offset is invalid for resultset in %s on line %d bool(false) Warning: mysqli_result::fetch_field_direct(): Couldn't fetch mysqli_result in %s on line %d done! --UEXPECTF-- Warning: mysqli_result::fetch_field_direct(): Field offset is invalid for resultset in %s on line %d bool(false) object(stdClass)#%d (11) { [u"name"]=> unicode(2) "ID" [u"orgname"]=> unicode(2) "id" [u"table"]=> unicode(4) "TEST" [u"orgtable"]=> unicode(4) "test" [u"def"]=> unicode(0) "" [u"max_length"]=> int(%d) [u"length"]=> int(%d) [u"charsetnr"]=> int(%d) [u"flags"]=> int(%d) [u"type"]=> int(%d) [u"decimals"]=> int(%d) } Warning: mysqli_result::fetch_field_direct(): Field offset is invalid for resultset in %s on line %d bool(false) Warning: mysqli_result::fetch_field_direct(): Couldn't fetch mysqli_result in %s on line %d done! http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_fetch_field_direct.phpt?view=markup&rev=1.1 Index: php-src/ext/mysqli/tests/mysqli_fetch_field_direct.phpt +++ php-src/ext/mysqli/tests/mysqli_fetch_field_direct.phpt --TEST-- mysqli_fetch_field_direct() --SKIPIF-- <?php require_once('skipif.inc'); ?> <?php require_once('skipifemb.inc'); ?> --FILE-- <?php include "connect.inc"; $tmp = NULL; $link = NULL; if (!is_null($tmp = @mysqli_fetch_field_direct())) printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); if (!is_null($tmp = @mysqli_fetch_field_direct($link))) printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); if (!is_null($tmp = @mysqli_fetch_field_direct($link, $link))) printf("[003] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); require('table.inc'); if (!$res = mysqli_query($link, "SELECT id AS ID, label FROM test AS TEST ORDER BY id LIMIT 1")) { printf("[004] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); } var_dump(mysqli_fetch_field_direct($res, -1)); var_dump(mysqli_fetch_field_direct($res, 0)); var_dump(mysqli_fetch_field_direct($res, 2)); mysqli_free_result($res); if (NULL !== ($tmp = mysqli_fetch_field_direct($res, 0))) printf("Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); mysqli_close($link); print "done!"; ?> --EXPECTF-- Warning: mysqli_fetch_field_direct(): Field offset is invalid for resultset in %s on line %d bool(false) object(stdClass)#%d (11) { ["name"]=> string(2) "ID" ["orgname"]=> string(2) "id" ["table"]=> string(4) "TEST" ["orgtable"]=> string(4) "test" ["def"]=> string(0) "" ["max_length"]=> int(%d) ["length"]=> int(%d) ["charsetnr"]=> int(%d) ["flags"]=> int(%d) ["type"]=> int(%d) ["decimals"]=> int(%d) } Warning: mysqli_fetch_field_direct(): Field offset is invalid for resultset in %s on line %d bool(false) Warning: mysqli_fetch_field_direct(): Couldn't fetch mysqli_result in %s on line %d done! --UEXPECTF-- Warning: mysqli_fetch_field_direct(): Field offset is invalid for resultset in %s on line %d bool(false) object(stdClass)#%d (11) { [u"name"]=> unicode(2) "ID" [u"orgname"]=> unicode(2) "id" [u"table"]=> unicode(4) "TEST" [u"orgtable"]=> unicode(4) "test" [u"def"]=> unicode(0) "" [u"max_length"]=> int(%d) [u"length"]=> int(%d) [u"charsetnr"]=> int(%d) [u"flags"]=> int(%d) [u"type"]=> int(%d) [u"decimals"]=> int(%d) } Warning: mysqli_fetch_field_direct(): Field offset is invalid for resultset in %s on line %d bool(false) Warning: mysqli_fetch_field_direct(): Couldn't fetch mysqli_result in %s on line %d done! http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_fetch_field_oo.phpt?view=markup&rev=1.1 Index: php-src/ext/mysqli/tests/mysqli_fetch_field_oo.phpt +++ php-src/ext/mysqli/tests/mysqli_fetch_field_oo.phpt --TEST-- mysqli_fetch_field() --SKIPIF-- <?php require_once('skipif.inc'); ?> <?php require_once('skipifemb.inc'); ?> --FILE-- <?php include "connect.inc"; $tmp = NULL; $link = NULL; // Note: no SQL type tests, internally the same function gets used as for mysqli_fetch_array() which does a lot of SQL type test $mysqli = new mysqli(); $res = @new mysqli_result($mysqli); if (!is_null($tmp = @$res->fetch_field())) printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); require('table.inc'); if (!$mysqli = new mysqli($host, $user, $passwd, $db, $port, $socket)) printf("[002] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n", $host, $user, $db, $port, $socket); if (!$res = $mysqli->query("SELECT id AS ID, label FROM test AS TEST ORDER BY id LIMIT 1")) { printf("[003] [%d] %s\n", $mysqli->errno, $mysqli->error); } if (!is_null($tmp = @$res->fetch_field($link))) printf("[003] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); while ($tmp = $res->fetch_field()) var_dump($tmp); var_dump($tmp); $res->free_result(); if (NULL !== ($tmp = $res->fetch_field())) printf("[004] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); $mysqli->close(); print "done!"; ?> --EXPECTF-- object(stdClass)#%d (11) { ["name"]=> string(2) "ID" ["orgname"]=> string(2) "id" ["table"]=> string(4) "TEST" ["orgtable"]=> string(4) "test" ["def"]=> string(0) "" ["max_length"]=> int(1) ["length"]=> int(11) ["charsetnr"]=> int(63) ["flags"]=> int(49155) ["type"]=> int(3) ["decimals"]=> int(0) } object(stdClass)#%d (11) { ["name"]=> string(5) "label" ["orgname"]=> string(5) "label" ["table"]=> string(4) "TEST" ["orgtable"]=> string(4) "test" ["def"]=> string(0) "" ["max_length"]=> int(1) ["length"]=> int(1) ["charsetnr"]=> int(8) ["flags"]=> int(0) ["type"]=> int(254) ["decimals"]=> int(0) } bool(false) Warning: mysqli_result::fetch_field(): Couldn't fetch mysqli_result in %s on line %d done! --UEXPECTF-- object(stdClass)#%d (11) { [u"name"]=> unicode(2) "ID" [u"orgname"]=> unicode(2) "id" [u"table"]=> unicode(4) "TEST" [u"orgtable"]=> unicode(4) "test" [u"def"]=> unicode(0) "" [u"max_length"]=> int(%d) [u"length"]=> int(%d) [u"charsetnr"]=> int(%d) [u"flags"]=> int(%d) [u"type"]=> int(%d) [u"decimals"]=> int(0) } object(stdClass)#%d (11) { [u"name"]=> unicode(5) "label" [u"orgname"]=> unicode(5) "label" [u"table"]=> unicode(4) "TEST" [u"orgtable"]=> unicode(4) "test" [u"def"]=> unicode(0) "" [u"max_length"]=> int(%d) [u"length"]=> int(%d) [u"charsetnr"]=> int(%d) [u"flags"]=> int(%d) [u"type"]=> int(%d) [u"decimals"]=> int(0) } bool(false) Warning: mysqli_result::fetch_field(): Couldn't fetch mysqli_result in %s on line %d done! http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_fetch_field.phpt?view=markup&rev=1.1 Index: php-src/ext/mysqli/tests/mysqli_fetch_field.phpt +++ php-src/ext/mysqli/tests/mysqli_fetch_field.phpt --TEST-- mysqli_fetch_field() --SKIPIF-- <?php require_once('skipif.inc'); ?> <?php require_once('skipifemb.inc'); ?> --FILE-- <?php include "connect.inc"; $tmp = NULL; $link = NULL; // Note: no SQL type tests, internally the same function gets used as for mysqli_fetch_array() which does a lot of SQL type test if (!is_null($tmp = @mysqli_fetch_field())) printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); if (!is_null($tmp = @mysqli_fetch_field($link))) printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); require('table.inc'); if (!$res = mysqli_query($link, "SELECT id AS ID, label FROM test AS TEST ORDER BY id LIMIT 1")) { printf("[003] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); } while ($tmp = mysqli_fetch_field($res)) var_dump($tmp); var_dump($tmp); mysqli_free_result($res); if (NULL !== ($tmp = mysqli_fetch_field($res))) printf("[004] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); mysqli_close($link); print "done!"; ?> --EXPECTF-- object(stdClass)#%d (11) { ["name"]=> string(2) "ID" ["orgname"]=> string(2) "id" ["table"]=> string(4) "TEST" ["orgtable"]=> string(4) "test" ["def"]=> string(0) "" ["max_length"]=> int(1) ["length"]=> int(11) ["charsetnr"]=> int(63) ["flags"]=> int(49155) ["type"]=> int(3) ["decimals"]=> int(0) } object(stdClass)#%d (11) { ["name"]=> string(5) "label" ["orgname"]=> string(5) "label" ["table"]=> string(4) "TEST" ["orgtable"]=> string(4) "test" ["def"]=> string(0) "" ["max_length"]=> int(1) ["length"]=> int(1) ["charsetnr"]=> int(8) ["flags"]=> int(0) ["type"]=> int(254) ["decimals"]=> int(0) } bool(false) Warning: mysqli_fetch_field(): Couldn't fetch mysqli_result in %s on line %d done! --UEXPECTF-- object(stdClass)#%d (11) { [u"name"]=> unicode(2) "ID" [u"orgname"]=> unicode(2) "id" [u"table"]=> unicode(4) "TEST" [u"orgtable"]=> unicode(4) "test" [u"def"]=> unicode(0) "" [u"max_length"]=> int(%d) [u"length"]=> int(%d) [u"charsetnr"]=> int(%d) [u"flags"]=> int(49155) [u"type"]=> int(3) [u"decimals"]=> int(0) } object(stdClass)#%d (11) { [u"name"]=> unicode(5) "label" [u"orgname"]=> unicode(5) "label" [u"table"]=> unicode(4) "TEST" [u"orgtable"]=> unicode(4) "test" [u"def"]=> unicode(0) "" [u"max_length"]=> int(%d) [u"length"]=> int(%d) [u"charsetnr"]=> int(%d) [u"flags"]=> int(0) [u"type"]=> int(254) [u"decimals"]=> int(0) } bool(false) Warning: mysqli_fetch_field(): Couldn't fetch mysqli_result in %s on line %d done! http://cvs.php.net/viewvc.cgi/php-src/ext/mysqli/tests/mysqli_fetch_fields.phpt?view=markup&rev=1.1 Index: php-src/ext/mysqli/tests/mysqli_fetch_fields.phpt +++ php-src/ext/mysqli/tests/mysqli_fetch_fields.phpt --TEST-- mysqli_fetch_fields() --SKIPIF-- <?php require_once('skipif.inc'); ?> <?php require_once('skipifemb.inc'); ?> --FILE-- <?php include "connect.inc"; $tmp = NULL; $link = NULL; // Note: no SQL type tests, internally the same function gets used as for mysqli_fetch_array() which does a lot of SQL type test if (!is_null($tmp = @mysqli_fetch_fields())) printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); if (!is_null($tmp = @mysqli_fetch_fields($link))) printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); require('table.inc'); if (!$res = mysqli_query($link, "SELECT id AS ID, label FROM test AS TEST ORDER BY id LIMIT 1")) { printf("[003] [%d] %s\n", mysqli_errno($link), mysqli_error($link)); } $fields = mysqli_fetch_fields($res); foreach ($fields as $k => $field) var_dump($field); mysqli_free_result($res); if (NULL !== ($tmp = mysqli_fetch_fields($res))) printf("[004] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp); mysqli_close($link); print "done!"; ?> --EXPECTF-- object(stdClass)#%d (11) { ["name"]=> string(2) "ID" ["orgname"]=> string(2) "id" ["table"]=> string(4) "TEST" ["orgtable"]=> string(4) "test" ["def"]=> string(0) "" ["max_length"]=> int(1) ["length"]=> int(11) ["charsetnr"]=> int(63) ["flags"]=> int(49155) ["type"]=> int(3) ["decimals"]=> int(0) } object(stdClass)#%d (11) { ["name"]=> string(5) "label" ["orgname"]=> string(5) "label" ["table"]=> string(4) "TEST" ["orgtable"]=> string(4) "test" ["def"]=> string(0) "" ["max_length"]=> int(1) ["length"]=> int(1) ["charsetnr"]=> int(8) ["flags"]=> int(0) ["type"]=> int(254) ["decimals"]=> int(0) } Warning: mysqli_fetch_fields(): Couldn't fetch mysqli_result in %s on line %d done! --UEXPECTF-- object(stdClass)#%d (11) { [u"name"]=> unicode(2) "ID" [u"orgname"]=> unicode(2) "id" [u"table"]=> unicode(4) "TEST" [u"orgtable"]=> unicode(4) "test" [u"def"]=> unicode(0) "" [u"max_length"]=> int(%d) [u"length"]=> int(%d) [u"charsetnr"]=> int(%d) [u"flags"]=> int(%d) [u"type"]=> int(%d) [u"decimals"]=> int(0) } object(stdClass)#%d (11) { [u"name"]=> unicode(5) "label" [u"orgname"]=> unicode(5) "label" [u"table"]=> unicode(4) "TEST" [u"orgtable"]=> unicode(4) "test" [u"def"]=> unicode(0) "" [u"max_length"]=> int(%d) [u"length"]=> int(%d) [u"charsetnr"]=> int(%d) [u"flags"]=> int(0) [u"type"]=> int(%d) [u"decimals"]=> int(0) } Warning: mysqli_fetch_fields(): Couldn't fetch mysqli_result in %s on line %d done!
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php