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>