--TEST-- mysqli_fetch_fields() --SKIPIF-- <?php require_once('skipif.inc'); require_once('skipifemb.inc'); require_once('skipifconnectfailure.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!"; ?> --CLEAN-- <?php require_once("clean_table.inc"); ?> --EXPECTF-- object(stdClass)#%d (11) { [%u|b%"name"]=> %unicode|string%(2) "ID" [%u|b%"orgname"]=> %unicode|string%(2) "id" [%u|b%"table"]=> %unicode|string%(4) "TEST" [%u|b%"orgtable"]=> %unicode|string%(4) "test" [%u|b%"def"]=> %unicode|string%(0) "" [%u|b%"max_length"]=> int(1) [%u|b%"length"]=> int(11) [%u|b%"charsetnr"]=> int(63) [%u|b%"flags"]=> int(49155) [%u|b%"type"]=> int(3) [%u|b%"decimals"]=> int(0) } object(stdClass)#%d (11) { [%u|b%"name"]=> %unicode|string%(5) "label" [%u|b%"orgname"]=> %unicode|string%(5) "label" [%u|b%"table"]=> %unicode|string%(4) "TEST" [%u|b%"orgtable"]=> %unicode|string%(4) "test" [%u|b%"def"]=> %unicode|string%(0) "" [%u|b%"max_length"]=> int(1) [%u|b%"length"]=> int(1) [%u|b%"charsetnr"]=> int(8) [%u|b%"flags"]=> int(0) [%u|b%"type"]=> int(254) [%u|b%"decimals"]=> int(0) } Warning: mysqli_fetch_fields(): Couldn't fetch mysqli_result in %s on line %d done!