Annotation of embedaddon/php/ext/mysqli/tests/bug66124.phpt, revision 1.1.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>