1--TEST--
2mysqli_field_tell()
3--SKIPIF--
4<?php
5require_once('skipif.inc');
6require_once('skipifemb.inc');
7require_once('skipifconnectfailure.inc');
8?>
9--FILE--
10<?php
11    require_once("connect.inc");
12
13    $tmp    = NULL;
14    $link   = NULL;
15
16    if (!is_null($tmp = @mysqli_field_tell()))
17        printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
18
19    if (!is_null($tmp = @mysqli_field_tell($link)))
20        printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
21
22    require('table.inc');
23    if (!$res = mysqli_query($link, "SELECT id FROM test ORDER BY id LIMIT 1", MYSQLI_USE_RESULT)) {
24        printf("[003] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
25    }
26
27    var_dump(mysqli_field_tell($res));
28    var_dump(mysqli_field_seek(1));
29    var_dump(mysqli_field_tell($res));
30    var_dump(mysqli_fetch_field($res));
31    var_dump(mysqli_fetch_field($res));
32    var_dump(mysqli_field_tell($res));
33
34    if (!is_null($tmp = @mysqli_field_tell($res, 'too many arguments')))
35        printf("[004] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
36
37
38    var_dump(mysqli_field_seek($res, 2));
39    var_dump(mysqli_field_tell($res));
40
41    var_dump(mysqli_field_seek($res, -1));
42    var_dump(mysqli_field_tell($res));
43
44    var_dump(mysqli_field_seek($res, 0));
45    var_dump(mysqli_field_tell($res));
46
47
48
49    mysqli_free_result($res);
50
51    var_dump(mysqli_field_tell($res));
52
53    mysqli_close($link);
54
55    print "done!";
56?>
57--CLEAN--
58<?php
59    require_once("clean_table.inc");
60?>
61--EXPECTF--
62int(0)
63
64Warning: mysqli_field_seek() expects exactly 2 parameters, 1 given in %s on line %d
65NULL
66int(0)
67object(stdClass)#%d (13) {
68  ["name"]=>
69  string(2) "id"
70  ["orgname"]=>
71  string(2) "id"
72  ["table"]=>
73  string(4) "test"
74  ["orgtable"]=>
75  string(4) "test"
76  ["def"]=>
77  string(0) ""
78  ["db"]=>
79  string(%d) "%s"
80  ["catalog"]=>
81  string(%d) "%s"
82  ["max_length"]=>
83  int(0)
84  ["length"]=>
85  int(11)
86  ["charsetnr"]=>
87  int(63)
88  ["flags"]=>
89  int(49155)
90  ["type"]=>
91  int(3)
92  ["decimals"]=>
93  int(0)
94}
95bool(false)
96int(1)
97
98Warning: mysqli_field_seek(): Invalid field offset in %s on line %d
99bool(false)
100int(1)
101
102Warning: mysqli_field_seek(): Invalid field offset in %s on line %d
103bool(false)
104int(1)
105bool(true)
106int(0)
107
108Warning: mysqli_field_tell(): Couldn't fetch mysqli_result in %s on line %d
109bool(false)
110done!
111