Annotation of embedaddon/php/ext/mysqli/tests/mysqli_fetch_fields.phpt, revision 1.1.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>