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--EXPECTF-- 69bool(true) 70bool(true) 71---- Row 1 72bool(true) 73int(1) 74---- Row 2 75bool(true) 76int(2) 77---- Row 3 78NULL 79---- 80ALTER 81bool(true) 82bool(false) 83%unicode|string%(34) "Unknown column 'a' in 'field list'" 84---- Row 1 85bool(false) 86int(2) 87---- Row 2 88bool(false) 89int(2) 90---- Row 3 91bool(false) 92---- 93done! 94