1--TEST--
2mysqli insert (bind_param + bind_result) tiny integer types
3--EXTENSIONS--
4mysqli
5--SKIPIF--
6<?php
7require_once dirname(__DIR__) . "/test_setup/test_helpers.inc";
8mysqli_check_skip_test();
9?>
10--FILE--
11<?php
12require_once dirname(__DIR__) . "/test_setup/test_helpers.inc";
13
14    $link = default_mysqli_connect();
15
16    mysqli_query($link, "SET sql_mode=''");
17
18    mysqli_query(
19        $link,
20        "CREATE TABLE insert_bind_tinyint(
21            c1 tinyint,
22            c2 tinyint unsigned,
23            c3 tinyint not NULL,
24            c4 tinyint,
25            c5 tinyint,
26            c6 tinyint unsigned,
27            c7 tinyint
28        )"
29    );
30
31    $stmt = mysqli_prepare ($link, "INSERT INTO insert_bind_tinyint VALUES(?,?,?,?,?,?,?)");
32    mysqli_stmt_bind_param($stmt, "iiiiiii", $c1,$c2,$c3,$c4,$c5,$c6,$c7);
33
34    $c1 = -23;
35    $c2 = 300;
36    $c3 = 0;
37    $c4 = -100;
38    $c5 = -127;
39    $c6 = 30;
40    $c7 = 0;
41
42    mysqli_stmt_execute($stmt);
43    mysqli_stmt_close($stmt);
44
45    $c1 = $c2 = $c3 = $c4 = $c5 = $c6 = $c7 = NULL;
46
47    $stmt = mysqli_prepare($link, "SELECT * FROM insert_bind_tinyint");
48    mysqli_stmt_bind_result($stmt, $c1, $c2, $c3, $c4, $c5, $c6, $c7);
49    mysqli_stmt_execute($stmt);
50    mysqli_stmt_fetch($stmt);
51
52    $test = array($c1,$c2,$c3,$c4,$c5,$c6,$c7);
53
54    var_dump($test);
55
56    mysqli_stmt_close($stmt);
57    mysqli_close($link);
58
59    print "done!";
60?>
61--CLEAN--
62<?php
63require_once dirname(__DIR__) . "/test_setup/test_helpers.inc";
64tear_down_table_on_default_connection('insert_bind_tinyint');
65?>
66--EXPECT--
67array(7) {
68  [0]=>
69  int(-23)
70  [1]=>
71  int(255)
72  [2]=>
73  int(0)
74  [3]=>
75  int(-100)
76  [4]=>
77  int(-127)
78  [5]=>
79  int(30)
80  [6]=>
81  int(0)
82}
83done!
84