1--TEST--
2mysqli_set_opt()
3--SKIPIF--
4<?php
5require_once('skipif.inc');
6require_once('skipifemb.inc');
7require_once('skipifconnectfailure.inc');
8?>
9--FILE--
10<?php
11    require_once("connect.inc");
12
13    $tmp    = NULL;
14    $link   = NULL;
15
16    if (!is_null($tmp = @mysqli_set_opt()))
17        printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
18
19    if (!is_null($tmp = @mysqli_set_opt($link)))
20        printf("[002] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
21
22    $link = mysqli_init();
23
24    if (!is_null($tmp = @mysqli_set_opt($link, MYSQLI_OPT_CONNECT_TIMEOUT)))
25        printf("[003] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
26
27    if (!is_null($tmp = @mysqli_set_opt($link, "s", 'extra_my.cnf')))
28        printf("[004] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
29
30    if (!is_null($tmp = @mysqli_set_opt($link, MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT=0', 'foo')))
31        printf("[005] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
32
33    // print "run_tests.php don't fool me with your 'ungreedy' expression '.+?'!\n";
34    var_dump(mysqli_set_opt($link, MYSQLI_READ_DEFAULT_GROUP, 'extra_my.cnf'));
35    var_dump(mysqli_set_opt($link, MYSQLI_READ_DEFAULT_FILE, 'extra_my.cnf'));
36    var_dump(mysqli_set_opt($link, MYSQLI_OPT_CONNECT_TIMEOUT, 10));
37    var_dump(mysqli_set_opt($link, MYSQLI_OPT_LOCAL_INFILE, 1));
38    var_dump(mysqli_set_opt($link, MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT=0'));
39    var_dump(my_mysqli_real_connect($link, $host, $user, $passwd, $db, $port, $socket));
40    var_dump(mysqli_set_opt($link, MYSQLI_READ_DEFAULT_GROUP, 'extra_my.cnf'));
41    var_dump(mysqli_set_opt($link, MYSQLI_READ_DEFAULT_FILE, 'extra_my.cnf'));
42    var_dump(mysqli_set_opt($link, MYSQLI_OPT_CONNECT_TIMEOUT, 10));
43    var_dump(mysqli_set_opt($link, MYSQLI_OPT_LOCAL_INFILE, 1));
44    var_dump(mysqli_set_opt($link, MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT=0'));
45    var_dump(mysqli_set_opt($link, MYSQLI_CLIENT_SSL, 'not an mysqli_option'));
46
47    mysqli_close($link);
48
49    var_dump(mysqli_set_opt($link, MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT=1'));
50
51    print "done!";
52?>
53--EXPECTF--
54bool(true)
55bool(true)
56bool(true)
57bool(true)
58bool(true)
59bool(true)
60bool(true)
61bool(true)
62bool(true)
63bool(true)
64bool(true)
65bool(false)
66
67Warning: mysqli_set_opt(): Couldn't fetch mysqli in %s on line %d
68bool(false)
69done!
70