Annotation of embedaddon/php/ext/mysqli/tests/mysqli_stmt_get_result_non_select.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: mysqli_stmt_get_result() - SHOW, DESCRIBE, EXPLAIN
3: --SKIPIF--
4: <?php
5: require_once('skipif.inc');
6: require_once('skipifemb.inc');
7: require_once('skipifconnectfailure.inc');
8:
9: if (!function_exists('mysqli_stmt_get_result'))
10: die('skip mysqli_stmt_get_result not available');
11: ?>
12: --FILE--
13: <?php
14: /*
15: NOTE: no datatype tests here! This is done by
16: mysqli_stmt_bind_result.phpt already. Restrict
17: this test case to the basics.
18: */
19: require('table.inc');
20:
21: if (!$stmt = mysqli_stmt_init($link))
22: printf("[001] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
23:
24: if (mysqli_query($link, 'PREPARE mystmt FROM "SHOW ENGINES"')) {
25: mysqli_query($link, 'DEALLOCATE PREPARE mystmt');
26:
27: if (!$stmt->prepare('SHOW ENGINES') ||
28: !$stmt->execute())
29: printf("[002] [%d] %s\n", $stmt->errno, $stmt->error);
30:
31: if (!$res = $stmt->get_result())
32: printf("[003] [%d] %s\n", $stmt->errno, $stmt->error);
33:
34: $engines = mysqli_fetch_all($res, MYSQLI_NUM);
35: if (empty($engines)) {
36: printf("[004] It is very unlikely that SHOW ENGINES returns no data, check manually\n");
37: } else {
38: $found = false;
39: foreach ($engines as $k => $engine)
40: foreach ($engine as $k => $v)
41: if (stristr('MyISAM', $v)) {
42: $found = true;
43: break;
44: }
45: if (!$found)
46: printf("[005] It is very unlikely that SHOW ENGINES does not show MyISAM, check manually\n");
47: }
48: mysqli_free_result($res);
49: }
50:
51: if (mysqli_query($link, 'PREPARE mystmt FROM "DESCRIBE test id"')) {
52: mysqli_query($link, 'DEALLOCATE PREPARE mystmt');
53:
54: if (!$stmt->prepare('DESCRIBE test id') ||
55: !$stmt->execute())
56: printf("[006] [%d] %s\n", $stmt->errno, $stmt->error);
57:
58: if (!$res = $stmt->get_result())
59: printf("[007] [%d] %s\n", $stmt->errno, $stmt->error);
60:
61: $description = mysqli_fetch_assoc($res);
62: if ($description['Field'] != 'id') {
63: printf("[008] Returned data seems wrong, [%d] %s\n",
64: mysqli_errno($link), mysqli_error($link));
65: var_dump($description);
66: }
67: mysqli_free_result($res);
68: }
69:
70: if (mysqli_query($link, 'PREPARE mystmt FROM "EXPLAIN SELECT id FROM test"')) {
71: mysqli_query($link, 'DEALLOCATE PREPARE mystmt');
72:
73: if (!$stmt->prepare('EXPLAIN SELECT id FROM test') ||
74: !$stmt->execute())
75: printf("[009] [%d] %s\n", $stmt->errno, $stmt->error);
76:
77: if (!$res = $stmt->get_result())
78: printf("[010] [%d] %s\n", $stmt->errno, $stmt->error);
79:
80: $tmp = mysqli_fetch_assoc($res);
81: if (empty($tmp))
82: printf("[011] Empty EXPLAIN result set seems wrong, check manually, [%d] %s\n",
83: mysqli_errno($link), mysqli_error($link));
84: mysqli_free_result($res);
85: }
86: mysqli_close($link);
87:
88: print "done!";
89: ?>
90: --CLEAN--
91: <?php
92: require_once("clean_table.inc");
93: ?>
94: --EXPECTF--
95: done!
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>