Annotation of embedaddon/php/ext/mysqli/tests/mysqli_stmt_attr_get.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: mysqli_stmt_attr_get()
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: if (!is_null($tmp = @mysqli_stmt_attr_get()))
17: printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
18:
19: if (!is_null($tmp = @mysqli_stmt_attr_get($link)))
20: printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
21:
22: if (!is_null($tmp = @mysqli_stmt_attr_get($link, $link)))
23: printf("[003] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
24:
25: require('table.inc');
26:
27: if (!is_null($tmp = @mysqli_stmt_attr_get($link, $link)))
28: printf("[004] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
29:
30: $valid_attr = array("max_length" => MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH);
31: if (mysqli_get_client_version() > 50003)
32: $valid_attr["cursor_type"] = MYSQLI_STMT_ATTR_CURSOR_TYPE;
33:
34: if ($IS_MYSQLND && mysqli_get_client_version() > 50007)
35: $valid_attr["prefetch_rows"] = MYSQLI_STMT_ATTR_PREFETCH_ROWS;
36:
37: do {
38: $invalid_attr = mt_rand(0, 10000);
39: } while (in_array($invalid_attr, $valid_attr));
40:
41: $stmt = mysqli_stmt_init($link);
42: mysqli_stmt_prepare($stmt, 'SELECT * FROM test');
43: if (false !== ($tmp = @mysqli_stmt_attr_get($stmt, $invalid_attr)))
44: printf("[005] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
45:
46: foreach ($valid_attr as $k => $attr) {
47: if (false === ($tmp = mysqli_stmt_attr_get($stmt, $attr))) {
48: printf("[006] Expecting any type, but not boolean/false, got %s/%s for attribute %s/%s\n",
49: gettype($tmp), $tmp, $k, $attr);
50: }
51: }
52:
53: $stmt->close();
54:
55: foreach ($valid_attr as $k => $attr) {
56: if (!is_null($tmp = @mysqli_stmt_attr_get($stmt, $attr))) {
57: printf("[007] Expecting NULL/NULL, got %s/%s for attribute %s/%s\n",
58: gettype($tmp), $tmp, $k, $attr);
59: }
60: }
61:
62: mysqli_close($link);
63: print "done!";
64: ?>
65: --CLEAN--
66: <?php
67: require_once("clean_table.inc");
68: ?>
69: --EXPECTF--
70: done!
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>