--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); } break; } } mysqli_free_result($res); try { mysqli_fetch_fields($res); } catch (Error $exception) { echo $exception->getMessage() . "\n"; } mysqli_close($link); print "done!"; ?> --CLEAN-- --EXPECTF-- object(stdClass)#%d (13) { ["name"]=> string(2) "ID" ["orgname"]=> string(2) "id" ["table"]=> string(4) "TEST" ["orgtable"]=> string(%d) "%s" ["def"]=> string(0) "" ["db"]=> string(%d) "%s" ["catalog"]=> string(%d) "%s" ["max_length"]=> int(0) ["length"]=> int(11) ["charsetnr"]=> int(63) ["flags"]=> int(49155) ["type"]=> int(3) ["decimals"]=> int(0) } object(stdClass)#%d (13) { ["name"]=> string(5) "label" ["orgname"]=> string(5) "label" ["table"]=> string(4) "TEST" ["orgtable"]=> string(%d) "%s" ["def"]=> string(0) "" ["db"]=> string(%d) "%s" ["catalog"]=> string(%d) "%s" ["max_length"]=> int(0) ["length"]=> int(%d) ["charsetnr"]=> int(%d) ["flags"]=> int(0) ["type"]=> int(254) ["decimals"]=> int(0) } mysqli_result object is already closed done!