Annotation of embedaddon/php/ext/mysqli/tests/mysqli_stmt_datatype_change.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Playing with datatype change between prepare and execute
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: if (!$c1 = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
13: printf("Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
14: $host, $user, $db, $port, $socket);
15: exit(1);
16: }
17: if (!$c2 = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
18: printf("Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
19: $host, $user, $db, $port, $socket);
20: exit(1);
21: }
22:
23: $c1->query("use $db");
24: $c2->query("use $db");
25: $c1->query("drop table if exists type_change");
26: $c1->query("create table type_change(a int, b char(10)) ENGINE = " . $engine);
27: $c1->query("insert into type_change values (1, 'one'), (2, 'two')");
28: $s1 = $c1->prepare("select a from type_change order by a");
29: var_dump($s1->execute(), $s1->bind_result($col1));
30: echo "---- Row 1\n";
31: var_dump($s1->fetch());
32: var_dump($col1);
33: echo "---- Row 2\n";
34: var_dump($s1->fetch());
35: var_dump($col1);
36: echo "---- Row 3\n";
37: var_dump($s1->fetch());
38: echo "----\n";
39:
40: echo "ALTER\n";
41: var_dump($c2->query("alter table type_change drop a"));
42: var_dump($s1->execute());
43: var_dump($c1->error);
44:
45: echo "---- Row 1\n";
46: var_dump($s1->fetch());
47: var_dump($col1);
48: echo "---- Row 2\n";
49: var_dump($s1->fetch());
50: var_dump($col1);
51: echo "---- Row 3\n";
52: var_dump($s1->fetch());
53: echo "----\n";
54:
55: echo "done!";
56: ?>
57: --CLEAN--
58: <?php
59: require_once("connect.inc");
60: if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
61: printf("[c001] [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
62:
63: if (!mysqli_query($link, "DROP TABLE IF EXISTS type_change"))
64: printf("[c002] Cannot drop table, [%d] %s\n", mysqli_errno($link), mysqli_error($link));
65:
66: mysqli_close($link);
67: ?>
68:
69: --EXPECTF--
70: bool(true)
71: bool(true)
72: ---- Row 1
73: bool(true)
74: int(1)
75: ---- Row 2
76: bool(true)
77: int(2)
78: ---- Row 3
79: NULL
80: ----
81: ALTER
82: bool(true)
83: bool(false)
84: %unicode|string%(34) "Unknown column 'a' in 'field list'"
85: ---- Row 1
86: bool(false)
87: int(2)
88: ---- Row 2
89: bool(false)
90: int(2)
91: ---- Row 3
92: bool(false)
93: ----
94: done!
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>