Annotation of embedaddon/php/ext/mysqli/tests/mysqli_stmt_get_warnings.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: mysqli_stmt_get_warnings() - TODO
3: --SKIPIF--
4: <?php
5: require_once('skipif.inc');
6: require_once('skipifemb.inc');
7: require_once('skipifconnectfailure.inc');
8:
9: require_once("connect.inc");
10:
11: if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
12: die(sprintf("skip Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
13: $host, $user, $db, $port, $socket));
14: }
15:
16: if (!mysqli_query($link, "DROP TABLE IF EXISTS test") ||
17: !mysqli_query($link, "CREATE TABLE test(id SMALLINT)"))
18: die(sprintf("skip [%d] %s\n", $link->errno, $link->error));
19:
20: if (!@mysqli_query("INSERT INTO test(id) VALUES (100001)"))
21: die("skip Strict sql mode seems to be active. We won't get a warning to check for.");
22:
23: mysqli_query($link, "DROP TABLE IF EXISTS test");
24: ?>
25: --FILE--
26: <?php
27: require_once("connect.inc");
28:
29: $tmp = NULL;
30: $link = NULL;
31:
32: if (!is_null($tmp = @mysqli_stmt_get_warnings()))
33: printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
34:
35: if (!is_null($tmp = @mysqli_stmt_get_warnings($link)))
36: printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
37:
38: require('table.inc');
39:
40: if (!$stmt = mysqli_stmt_init($link))
41: printf("[003] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
42:
43: if (NULL !== ($tmp = mysqli_stmt_get_warnings($stmt)))
44: printf("[004] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
45:
46: if (!mysqli_stmt_prepare($stmt, "DROP TABLE IF EXISTS test") || !mysqli_stmt_execute($stmt))
47: printf("[005] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
48:
49: if (false !== ($tmp = mysqli_stmt_get_warnings($stmt)))
50: printf("[006] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
51:
52: if (!mysqli_stmt_prepare($stmt, "CREATE TABLE test(id SMALLINT, label CHAR(1))") || !mysqli_stmt_execute($stmt))
53: printf("[007] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
54:
55: if (false !== ($tmp = mysqli_stmt_get_warnings($stmt)))
56: printf("[008] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
57:
58: if (!mysqli_stmt_prepare($stmt, "INSERT INTO test(id, label) VALUES (100000, 'a'), (100001, 'b')") ||
59: !mysqli_stmt_execute($stmt))
60: printf("[009] [%d] %s\n", mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
61:
62: if (!is_object($warning = mysqli_stmt_get_warnings($stmt)))
63: printf("[010] Expecting mysqli_warning object, got %s/%s\n", gettype($warning), $warning);
64:
65: if ('mysqli_warning' !== get_class($warning))
66: printf("[011] Expecting object of type mysqli_warning got type '%s'", get_class($warning));
67:
68: if (!method_exists($warning, 'next'))
69: printf("[012] Object mysqli_warning seems to lack method next()\n");
70:
71: $i = 0;
72: do {
73:
74: if ('' == $warning->message)
75: printf("[013 - %d] Message should not be empty\n", $i);
76:
77: if ('' == $warning->sqlstate)
78: printf("[014 - %d] SQL State should not be empty\n", $i);
79:
80: if (0 == $warning->errno)
81: printf("[015 - %d] Error number should not be zero\n", $i);
82:
83: $i++;
84:
85: } while ($warning->next());
86:
87: if (2 != $i)
88: printf("[016] Expected 2 warnings, got %d warnings\n", $i);
89:
90: mysqli_stmt_close($stmt);
91:
92: if (NULL !== ($tmp = mysqli_stmt_get_warnings($stmt)))
93: printf("[015] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
94:
95: mysqli_close($link);
96: print "done!";
97: ?>
98: --CLEAN--
99: <?php
100: require_once("clean_table.inc");
101: ?>
102: --EXPECTF--
103: Warning: mysqli_stmt_get_warnings(): invalid object or resource mysqli_stmt
104: in %s on line %d
105:
106: Warning: mysqli_stmt_get_warnings(): Couldn't fetch mysqli_stmt in %s on line %d
107: done!
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>