Annotation of embedaddon/php/ext/mysqli/tests/mysqli_fetch_array_many_rows.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: mysqli_fetch_array()
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("table.inc");
12:
13: // do as much as we can do in 5 seconds
14: $start = microtime(true);
15: for ($id = 100, $start = microtime(true); (microtime(true) - $start) < 5; $id++) {
16: if (!mysqli_query($link, $sql = sprintf("INSERT INTO test(id, label) VALUES (%d, '%s')",
17: $id, mysqli_real_escape_string($link, chr(65 + ($id % 26)))))) {
18: printf("[001] %s failed: [%d] %s\n", $sql, mysqli_errno($link), mysqli_error($link));
19: break;
20: }
21: }
22:
23: if (!$res = mysqli_query($link, 'SELECT id, label FROM test')) {
24: printf("[002] SELECT failed: [%d] %s\n", mysqli_errno($link), mysqli_errno($link));
25: }
26:
27: while ($row = mysqli_fetch_array($res)) {
28: // overwrite results and check if the cache magic works
29: $row['label'] = NULL;
30: }
31: mysqli_free_result($res);
32:
33: if (!$res = mysqli_query($link, 'SELECT id, label FROM test')) {
34: printf("[003] SELECT failed: [%d] %s\n", mysqli_errno($link), mysqli_errno($link));
35: }
36:
37: $i = 0;
38: $results = array();
39: while ($row = mysqli_fetch_array($res, MYSQLI_BOTH)) {
40:
41: // create copies and destroy later
42: $results[$i++] = &$row;
43: if ($i % 999) {
44: $results = array();
45: }
46:
47: if ($row[0] < 0 || $row[0] > $id) {
48: printf("[004] Unexpected result row[0] = '%s' (range 0...%d), [%d] %s\n",
49: $row[0], $id, mysqli_errno($link), mysqli_error($link));
50: break;
51: }
52: if ($row[0] !== $row['id']) {
53: printf("[005] Unexpected result row[0] = '%s', row[id] = '%s', [%d] %s\n",
54: $row[0], $row[id], mysqli_errno($link), mysqli_error($link));
55: break;
56: }
57:
58: $len = strlen($row[1]);
59: if (!is_string($row[1]) || $len == 0 || $len > 1) {
60: printf("[006] Unexpected result row[1] = '%s', [%d] %s\n",
61: $row[1], mysqli_errno($link), mysqli_error($link));
62: break;
63: }
64: if ($row[1] !== $row['label']) {
65: printf("[007] Unexpected result row[1] = '%s', row[label] = '%s', [%d] %s\n",
66: $row[1], $row['label'], mysqli_errno($link), mysqli_error($link));
67: break;
68: }
69:
70: }
71: mysqli_free_result($res);
72:
73: if (!$res = mysqli_query($link, 'SELECT id, label FROM test')) {
74: printf("[008] SELECT failed: [%d] %s\n", mysqli_errno($link), mysqli_errno($link));
75: }
76:
77: while ($row = mysqli_fetch_array($res, MYSQLI_ASSOC)) {
78: // overwrite results and check if the cache magic works
79: $row['label'] = NULL;
80: }
81: mysqli_free_result($res);
82:
83: if (!$res = mysqli_query($link, 'SELECT count(*) AS num FROM test')) {
84: printf("[009] SELECT failed: [%d] %s\n", mysqli_errno($link), mysqli_errno($link));
85: }
86: $row = mysqli_fetch_assoc($res);
87: $num = $row['num'];
88: mysqli_free_result($res);
89:
90: if (!$res = mysqli_query($link, 'SELECT id, label FROM test')) {
91: printf("[010] SELECT failed: [%d] %s\n", mysqli_errno($link), mysqli_errno($link));
92: }
93:
94: $i = 0;
95: while ($row = mysqli_fetch_array($res, MYSQLI_NUM)) {
96: // overwrite results and check if the cache magic works
97: $row[0] = NULL;
98: $i++;
99: }
100: mysqli_free_result($res);
101:
102: if ($i != $num)
103: printf("[011] Expecting %d results, got %d results, [%d] %s\n",
104: $num, $i, mysqli_errno($link), mysqli_error($link));
105:
106: mysqli_close($link);
107:
108: print "done!";
109: ?>
110: --CLEAN--
111: <?php
112: require_once("clean_table.inc");
113: ?>
114: --EXPECTF--
115: done!
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>