summaryrefslogtreecommitdiff
path: root/ext/mysqli/tests/bug48909.phpt
blob: 2d994f559e5e70ce89c870aabe0d7a063c4ba07a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
--TEST--
Bug #48909 (Segmentation fault in mysqli_stmt_execute)
--SKIPIF--
<?php
require_once('skipif.inc');
require_once('skipifconnectfailure.inc');
?>
--FILE--
<?php
    require_once("connect.inc");

    if (!($link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)))
        printf("[001] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
            $host, $user, $db, $port, $socket);

    if (!$link->query("DROP TABLE IF EXISTS test") ||
        !$link->query(sprintf("CREATE TABLE test(id INT, label varchar(255)) ENGINE = %s", $engine)))
        printf("[002] [%d] %s\n", $link->errno, $link->error);

    if (!$stmt = $link->prepare("INSERT INTO test(id, label) VALUES  (?, ?)"))
        printf("[003] [%d] %s\n", $link->errno, $link->error);

    if (!$stmt->bind_param("bb",$bvar, $bvar))
        printf("[004] [%d] %s\n", $stmt->errno, $stmt->error);

    if (!$stmt->execute()) {
        if ($stmt->errno != 1366) {
            /*
                $bvar is null, b is for BLOB - any error like this should be OK:
                1366 -  Incorrect integer value: '' for column 'id' at row 1
            */
            printf("[005] [%d] %s\n", $stmt->errno, $stmt->error);
        }
    }

    $stmt->close();
    $link->close();

    echo "done";
?>
--CLEAN--
<?php
    require_once("clean_table.inc");
?>
--EXPECT--
done