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>