1--TEST--
2Playing with datatype change between prepare and execute
3--SKIPIF--
4<?php
5require_once('skipif.inc');
6require_once('skipifemb.inc');
7require_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
59require_once("connect.inc");
60if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
61   printf("[c001] [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
62
63if (!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
66mysqli_close($link);
67?>
68
69--EXPECTF--
70bool(true)
71bool(true)
72---- Row 1
73bool(true)
74int(1)
75---- Row 2
76bool(true)
77int(2)
78---- Row 3
79NULL
80----
81ALTER
82bool(true)
83bool(false)
84%unicode|string%(34) "Unknown column 'a' in 'field list'"
85---- Row 1
86bool(false)
87int(2)
88---- Row 2
89bool(false)
90int(2)
91---- Row 3
92bool(false)
93----
94done!