Annotation of embedaddon/php/ext/mysqli/tests/009.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: mysqli fetch bigint values (ok to fail with 4.1.x)
3: --SKIPIF--
4: <?php
5: if (PHP_INT_SIZE == 8) {
6: echo 'skip test valid only for 32bit systems';
7: exit;
8: }
9: require_once('skipif.inc');
10: require_once('skipifconnectfailure.inc');
11: ?>
12: --FILE--
13: <?php
14: require_once("connect.inc");
15:
16: /*** test mysqli_connect 127.0.0.1 ***/
17: $link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket);
18:
19: if (!mysqli_query($link, "SET sql_mode=''"))
20: printf("[001] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
21:
22: if (!mysqli_query($link, "DROP TABLE IF EXISTS test_bind_fetch"))
23: printf("[002] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
24:
25: $rc = mysqli_query($link,"CREATE TABLE test_bind_fetch(c1 bigint default 5,
26: c2 bigint,
27: c3 bigint not NULL,
28: c4 bigint unsigned,
29: c5 bigint unsigned,
30: c6 bigint unsigned,
31: c7 bigint unsigned,
32: c8 bigint unsigned) ENGINE=" . $engine);
33: if (!$rc)
34: printf("[003] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
35:
36: $rc = mysqli_query($link, "INSERT INTO test_bind_fetch (c2,c3,c4,c5,c6,c7,c8) ".
37: "VALUES (-23,4.0,33333333333333,0,-333333333333,99.9,1234)");
38: if (!$rc)
39: printf("[004] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
40:
41: $stmt = mysqli_prepare($link, "SELECT * FROM test_bind_fetch");
42: mysqli_stmt_bind_result($stmt, $c1, $c2, $c3, $c4, $c5, $c6, $c7, $c8);
43: mysqli_stmt_execute($stmt);
44: $rc = mysqli_stmt_fetch($stmt);
45:
46: if (mysqli_get_server_version($link) < 50000) {
47: // 4.1 is faulty and will return big number for $c6
48: if ($c6 == "18446743740376218283") {
49: $c6 = 0;
50: }
51: }
52: $c8 = 4567;// change this to test how mysqli/mysqlnd handles is_ref changing
53: $test = array($c1,$c2,$c3,$c4,$c5,$c6,$c7,$c8);
54:
55: var_dump($test);
56:
57: mysqli_stmt_close($stmt);
58:
59: if (!mysqli_query($link, "DROP TABLE IF EXISTS test_bind_fetch_uint"))
60: printf("[005] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
61: $rc = mysqli_query($link, "CREATE TABLE test_bind_fetch_uint(c1 integer unsigned, c2 integer unsigned) ENGINE=" . $engine);
62: if (!$rc)
63: printf("[006] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
64:
65: if (!mysqli_query($link, "INSERT INTO test_bind_fetch_uint (c1,c2) VALUES (20123456, 3123456789)"))
66: printf("[007] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
67:
68: $stmt = mysqli_prepare($link, "SELECT * FROM test_bind_fetch_uint");
69: mysqli_stmt_bind_result($stmt, $c1, $c2);
70: mysqli_stmt_execute($stmt);
71: $rc = mysqli_stmt_fetch($stmt);
72:
73: echo $c1, "\n", $c2, "\n";
74:
75: mysqli_stmt_close($stmt);
76: mysqli_query($link, "DROP TABLE IF EXISTS test_bind_fetch");
77: mysqli_query($link, "DROP TABLE IF EXISTS test_bind_fetch_uint");
78: mysqli_close($link);
79: print "done!";
80: ?>
81: --CLEAN--
82: <?php
83: require_once("connect.inc");
84: if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
85: printf("[c001] [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
86:
87: if (!mysqli_query($link, "DROP TABLE IF EXISTS test_bind_fetch"))
88: printf("[002] Cannot drop table, [%d] %s\n", mysqli_errno($link), mysqli_error($link));
89:
90: if (!mysqli_query($link, "DROP TABLE IF EXISTS test_bind_fetch_uint"))
91: printf("[002] Cannot drop table, [%d] %s\n", mysqli_errno($link), mysqli_error($link));
92:
93: mysqli_close($link);
94: ?>
95: --EXPECTF--
96: array(8) {
97: [0]=>
98: int(5)
99: [1]=>
100: int(-23)
101: [2]=>
102: int(4)
103: [3]=>
104: %unicode|string%(14) "33333333333333"
105: [4]=>
106: int(0)
107: [5]=>
108: int(0)
109: [6]=>
110: int(100)
111: [7]=>
112: int(4567)
113: }
114: 20123456
115: 3123456789
116: done!
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>