--TEST-- mysqli_fetch_fields() --SKIPIF-- --FILE-- $field) { var_dump($field); switch ($k) { case 1: /* label column, result set charset */ if ($field->charsetnr != $charsetInfo->number) { printf("[004] Expecting charset %s/%d got %d\n", $charsetInfo->charset, $charsetInfo->number, $field->charsetnr); } if ($field->length != $charsetInfo->max_length) { printf("[005] Expecting length %d got %d\n", $charsetInfo->max_length, $field->max_length); } break; } } 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-- --EXPECTF-- object(stdClass)#%d (13) { [%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%(%d) "%s" [%u|b%"def"]=> %unicode|string%(0) "" [%u|b%"db"]=> %unicode|string%(%d) "%s" [%u|b%"catalog"]=> %unicode|string%(%d) "%s" [%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 (13) { [%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%(%d) "%s" [%u|b%"def"]=> %unicode|string%(0) "" [%u|b%"db"]=> %unicode|string%(%d) "%s" [%u|b%"catalog"]=> %unicode|string%(%d) "%s" [%u|b%"max_length"]=> int(1) [%u|b%"length"]=> int(%d) [%u|b%"charsetnr"]=> int(%d) [%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!