Annotation of embedaddon/php/ext/mysqli/tests/mysqli_fetch_fields.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: mysqli_fetch_fields()
! 3: --SKIPIF--
! 4: <?php
! 5: require_once('skipif.inc');
! 6: require_once('skipifemb.inc');
! 7: require_once('skipifconnectfailure.inc');
! 8: ?>
! 9: --FILE--
! 10: <?php
! 11: require_once("connect.inc");
! 12:
! 13: $tmp = NULL;
! 14: $link = NULL;
! 15:
! 16: // Note: no SQL type tests, internally the same function gets used as for mysqli_fetch_array() which does a lot of SQL type test
! 17: if (!is_null($tmp = @mysqli_fetch_fields()))
! 18: printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
! 19:
! 20: if (!is_null($tmp = @mysqli_fetch_fields($link)))
! 21: printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
! 22:
! 23: require('table.inc');
! 24: $charsets = my_get_charsets($link);
! 25:
! 26: if (!$res = mysqli_query($link, "SELECT id AS ID, label FROM test AS TEST ORDER BY id LIMIT 1")) {
! 27: printf("[003] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
! 28: }
! 29:
! 30: $fields = mysqli_fetch_fields($res);
! 31: foreach ($fields as $k => $field) {
! 32: var_dump($field);
! 33: switch ($k) {
! 34: case 1:
! 35: /* label column, result set charset */
! 36: if ($field->charsetnr != $charsets['results']['nr']) {
! 37: printf("[004] Expecting charset %s/%d got %d\n",
! 38: $charsets['results']['charset'],
! 39: $charsets['results']['nr'], $field->charsetnr);
! 40: }
! 41: if ($field->length != (1 * $charsets['results']['maxlen'])) {
! 42: printf("[005] Expecting length %d got %d\n",
! 43: $charsets['results']['maxlen'],
! 44: $field->max_length);
! 45: }
! 46: break;
! 47: }
! 48: }
! 49:
! 50: mysqli_free_result($res);
! 51:
! 52: if (NULL !== ($tmp = mysqli_fetch_fields($res)))
! 53: printf("[004] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
! 54:
! 55: mysqli_close($link);
! 56: print "done!";
! 57: ?>
! 58: --CLEAN--
! 59: <?php
! 60: require_once("clean_table.inc");
! 61: ?>
! 62: --EXPECTF--
! 63: object(stdClass)#%d (13) {
! 64: [%u|b%"name"]=>
! 65: %unicode|string%(2) "ID"
! 66: [%u|b%"orgname"]=>
! 67: %unicode|string%(2) "id"
! 68: [%u|b%"table"]=>
! 69: %unicode|string%(4) "TEST"
! 70: [%u|b%"orgtable"]=>
! 71: %unicode|string%(%d) "%s"
! 72: [%u|b%"def"]=>
! 73: %unicode|string%(0) ""
! 74: [%u|b%"db"]=>
! 75: %unicode|string%(%d) "%s"
! 76: [%u|b%"catalog"]=>
! 77: %unicode|string%(%d) "%s"
! 78: [%u|b%"max_length"]=>
! 79: int(1)
! 80: [%u|b%"length"]=>
! 81: int(11)
! 82: [%u|b%"charsetnr"]=>
! 83: int(63)
! 84: [%u|b%"flags"]=>
! 85: int(49155)
! 86: [%u|b%"type"]=>
! 87: int(3)
! 88: [%u|b%"decimals"]=>
! 89: int(0)
! 90: }
! 91: object(stdClass)#%d (13) {
! 92: [%u|b%"name"]=>
! 93: %unicode|string%(5) "label"
! 94: [%u|b%"orgname"]=>
! 95: %unicode|string%(5) "label"
! 96: [%u|b%"table"]=>
! 97: %unicode|string%(4) "TEST"
! 98: [%u|b%"orgtable"]=>
! 99: %unicode|string%(%d) "%s"
! 100: [%u|b%"def"]=>
! 101: %unicode|string%(0) ""
! 102: [%u|b%"db"]=>
! 103: %unicode|string%(%d) "%s"
! 104: [%u|b%"catalog"]=>
! 105: %unicode|string%(%d) "%s"
! 106: [%u|b%"max_length"]=>
! 107: int(1)
! 108: [%u|b%"length"]=>
! 109: int(%d)
! 110: [%u|b%"charsetnr"]=>
! 111: int(%d)
! 112: [%u|b%"flags"]=>
! 113: int(0)
! 114: [%u|b%"type"]=>
! 115: int(254)
! 116: [%u|b%"decimals"]=>
! 117: int(0)
! 118: }
! 119:
! 120: Warning: mysqli_fetch_fields(): Couldn't fetch mysqli_result in %s on line %d
! 121: done!
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>