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

1.1     ! misho       1: --TEST--
        !             2: Bug #66124 (mysqli under mysqlnd loses precision when bind_param with 'i')
        !             3: --SKIPIF--
        !             4: <?php
        !             5: require_once('skipif.inc');
        !             6: require_once('connect.inc');
        !             7: require_once('skipifconnectfailure.inc');
        !             8: ?>
        !             9: --FILE--
        !            10: <?php
        !            11: $table_drop = "DROP TABLE IF EXISTS `bug66124`";
        !            12: $table_create = "CREATE TABLE `bug66124` (
        !            13:   `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
        !            14:   PRIMARY KEY (`id`)
        !            15: ) ENGINE=InnoDB DEFAULT CHARSET=utf8";
        !            16: 
        !            17: $table_insert = "INSERT INTO `bug66124` SET `id`=?";
        !            18: $table_select = "SELECT * FROM `bug66124`";
        !            19: $table_delete = "DELETE FROM `bug66124`";
        !            20: $id = '1311200011005001566';
        !            21: 
        !            22: 
        !            23: require_once('connect.inc');
        !            24: 
        !            25: if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
        !            26:        printf("Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
        !            27:                $host, $user, $db, $port, $socket);
        !            28:        exit(1);
        !            29: }
        !            30: 
        !            31: $link->query($table_drop);
        !            32: $link->query($table_create);
        !            33: 
        !            34: $stmt = $link->prepare($table_insert);
        !            35: if (!$stmt) {
        !            36:        printf("Can't prepare\n");
        !            37:        exit(1);
        !            38: }
        !            39: 
        !            40: echo "Using 'i':\n";
        !            41: $stmt->bind_param('i', $id);
        !            42: 
        !            43: if ($stmt->execute()){
        !            44:     echo "insert id:{$id}=>{$stmt->insert_id}\n";
        !            45: } else {
        !            46:        printf("Can't execute\n");
        !            47:        exit(1);
        !            48: }
        !            49: 
        !            50: 
        !            51: $result = $link->query($table_select);
        !            52: 
        !            53: if ($result){
        !            54:     while ($row = $result->fetch_assoc()) {
        !            55:         echo "fetch  id:{$row['id']}\n";
        !            56:     }
        !            57: } else {
        !            58:        printf("Can't select\n");
        !            59:        exit(1);
        !            60: }
        !            61: 
        !            62: $stmt->close();
        !            63: 
        !            64: $link->query($table_drop);
        !            65: $link->query($table_create);
        !            66: 
        !            67: 
        !            68: $stmt = $link->prepare($table_insert);
        !            69: $stmt->bind_param('s', $id);
        !            70: 
        !            71: echo "Using 's':\n";
        !            72: 
        !            73: if ($stmt->execute()){
        !            74:     echo "insert id:{$id}\n";
        !            75: } else{
        !            76:        printf("Can't execute\n");
        !            77:        exit(1);
        !            78: }
        !            79: 
        !            80: $result = $link->query($table_select);
        !            81: 
        !            82: if ($result){
        !            83:     while ($row = $result->fetch_assoc()) {
        !            84:         echo "fetch  id:{$row['id']}\n";
        !            85:     }
        !            86: } else {
        !            87:        printf("Can't select\n");
        !            88:        exit(1);
        !            89: }
        !            90: 
        !            91: $link->close();
        !            92: ?>
        !            93: done
        !            94: --EXPECTF--
        !            95: Using 'i':
        !            96: insert id:1311200011005001566=>1311200011005001566
        !            97: fetch  id:1311200011005001566
        !            98: Using 's':
        !            99: insert id:1311200011005001566
        !           100: fetch  id:1311200011005001566
        !           101: done

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