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!