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>