Annotation of embedaddon/php/ext/mysqli/tests/009.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: mysqli fetch bigint values (ok to fail with 4.1.x)
        !             3: --SKIPIF--
        !             4: <?php
        !             5:        if (PHP_INT_SIZE == 8) {
        !             6:                echo 'skip test valid only for 32bit systems';
        !             7:                exit;
        !             8:        }
        !             9:        require_once('skipif.inc');
        !            10:        require_once('skipifconnectfailure.inc');
        !            11: ?>
        !            12: --FILE--
        !            13: <?php
        !            14:        require_once("connect.inc");
        !            15: 
        !            16:        /*** test mysqli_connect 127.0.0.1 ***/
        !            17:        $link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket);
        !            18: 
        !            19:        if (!mysqli_query($link, "SET sql_mode=''"))
        !            20:                printf("[001] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
        !            21: 
        !            22:        if (!mysqli_query($link, "DROP TABLE IF EXISTS test_bind_fetch"))
        !            23:                printf("[002] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
        !            24: 
        !            25:        $rc = mysqli_query($link,"CREATE TABLE test_bind_fetch(c1 bigint default 5,
        !            26:                                                                                                        c2 bigint,
        !            27:                                                                                                        c3 bigint not NULL,
        !            28:                                                                                                        c4 bigint unsigned,
        !            29:                                                                                                        c5 bigint unsigned,
        !            30:                                                                                                        c6 bigint unsigned,
        !            31:                                                                                                        c7 bigint unsigned,
        !            32:                                                                                                        c8 bigint unsigned) ENGINE=" . $engine);
        !            33:        if (!$rc)
        !            34:                printf("[003] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
        !            35: 
        !            36:        $rc = mysqli_query($link, "INSERT INTO test_bind_fetch (c2,c3,c4,c5,c6,c7,c8) ".
        !            37:                                                          "VALUES (-23,4.0,33333333333333,0,-333333333333,99.9,1234)");
        !            38:        if (!$rc)
        !            39:                printf("[004] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
        !            40: 
        !            41:        $stmt = mysqli_prepare($link, "SELECT * FROM test_bind_fetch");
        !            42:        mysqli_stmt_bind_result($stmt, $c1, $c2, $c3, $c4, $c5, $c6, $c7, $c8);
        !            43:        mysqli_stmt_execute($stmt);
        !            44:        $rc = mysqli_stmt_fetch($stmt);
        !            45: 
        !            46:        if (mysqli_get_server_version($link) < 50000) {
        !            47:                // 4.1 is faulty and will return big number for $c6
        !            48:                if ($c6 == "18446743740376218283") {
        !            49:                        $c6 = 0;
        !            50:                }
        !            51:        }
        !            52:        $c8 = 4567;// change this to test how mysqli/mysqlnd handles is_ref changing
        !            53:        $test = array($c1,$c2,$c3,$c4,$c5,$c6,$c7,$c8);
        !            54: 
        !            55:        var_dump($test);
        !            56: 
        !            57:        mysqli_stmt_close($stmt);
        !            58: 
        !            59:        if (!mysqli_query($link, "DROP TABLE IF EXISTS test_bind_fetch_uint"))
        !            60:                printf("[005] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
        !            61:        $rc = mysqli_query($link, "CREATE TABLE test_bind_fetch_uint(c1 integer unsigned, c2 integer unsigned) ENGINE=" . $engine);
        !            62:        if (!$rc)
        !            63:                printf("[006] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
        !            64: 
        !            65:        if (!mysqli_query($link, "INSERT INTO test_bind_fetch_uint (c1,c2) VALUES (20123456, 3123456789)"))
        !            66:                printf("[007] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
        !            67: 
        !            68:        $stmt = mysqli_prepare($link, "SELECT * FROM test_bind_fetch_uint");
        !            69:        mysqli_stmt_bind_result($stmt, $c1, $c2);
        !            70:        mysqli_stmt_execute($stmt);
        !            71:        $rc = mysqli_stmt_fetch($stmt);
        !            72: 
        !            73:        echo $c1, "\n", $c2, "\n";
        !            74: 
        !            75:        mysqli_stmt_close($stmt);
        !            76:        mysqli_query($link, "DROP TABLE IF EXISTS test_bind_fetch");
        !            77:        mysqli_query($link, "DROP TABLE IF EXISTS test_bind_fetch_uint");
        !            78:        mysqli_close($link);
        !            79:        print "done!";
        !            80: ?>
        !            81: --CLEAN--
        !            82: <?php
        !            83: require_once("connect.inc");
        !            84: if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
        !            85:    printf("[c001] [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
        !            86: 
        !            87: if (!mysqli_query($link, "DROP TABLE IF EXISTS test_bind_fetch"))
        !            88:        printf("[002] Cannot drop table, [%d] %s\n", mysqli_errno($link), mysqli_error($link));
        !            89: 
        !            90: if (!mysqli_query($link, "DROP TABLE IF EXISTS test_bind_fetch_uint"))
        !            91:        printf("[002] Cannot drop table, [%d] %s\n", mysqli_errno($link), mysqli_error($link));
        !            92: 
        !            93: mysqli_close($link);
        !            94: ?>
        !            95: --EXPECTF--
        !            96: array(8) {
        !            97:   [0]=>
        !            98:   int(5)
        !            99:   [1]=>
        !           100:   int(-23)
        !           101:   [2]=>
        !           102:   int(4)
        !           103:   [3]=>
        !           104:   %unicode|string%(14) "33333333333333"
        !           105:   [4]=>
        !           106:   int(0)
        !           107:   [5]=>
        !           108:   int(0)
        !           109:   [6]=>
        !           110:   int(100)
        !           111:   [7]=>
        !           112:   int(4567)
        !           113: }
        !           114: 20123456
        !           115: 3123456789
        !           116: done!

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>