1--TEST--
2Calling connect() on an open persistent connection to create a new persistent connection
3--SKIPIF--
4<?php
5require_once('skipif.inc');
6require_once('skipifconnectfailure.inc');
7
8?>
9--INI--
10mysqli.allow_persistent=1
11mysqli.max_persistent=-1
12mysqli.max_links=-1
13--FILE--
14<?php
15    require_once("connect.inc");
16
17    $host = 'p:' . $host;
18    if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
19        printf("[001] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
20            $host, $user, $db, $port, $socket);
21
22    if (true !== ($tmp = my_mysqli_real_connect($link, $host, $user, $passwd, $db, $port, $socket)))
23        printf("[003] Expecting boolean/true got %s/%s\n", gettype($tmp), $tmp);
24
25    /* it is undefined which pooled connection we get - thread ids may differ */
26
27    if (!($res = mysqli_query($link, "SELECT 'ok' AS it_works")) ||
28        !($row = mysqli_fetch_assoc($res)))
29        printf("[006] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
30
31    var_dump($row);
32    mysqli_free_result($res);
33
34    mysqli_close($link);
35
36    if (!$link = new my_mysqli($host, $user, $passwd, $db, $port, $socket))
37        printf("[007] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
38            $host, $user, $db, $port, $socket);
39
40
41    if (true !== ($tmp = $link->real_connect($host, $user, $passwd, $db, $port, $socket)))
42        printf("[009] Expecting boolean/true got %s/%s\n", gettype($tmp), $tmp);
43
44    /* it is undefined which pooled connection we get - thread ids may differ */
45
46    if (!($res = $link->query("SELECT 'works also with oo' AS syntax")) ||
47            !($row = $res->fetch_assoc()))
48        printf("[012] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
49
50    var_dump($row);
51    mysqli_free_result($res);
52
53    mysqli_close($link);
54
55    if (NULL !== ($tmp = $link->connect($host, $user, $passwd, $db, $port, $socket)))
56        printf("[013] Expecting NULL got %s/%s\n", gettype($tmp), $tmp);
57
58    if (!$link = mysqli_connect($host, $user, $passwd, $db, $port, $socket))
59        printf("[014] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
60            $host, $user, $db, $port, $socket);
61
62    if (NULL !== ($tmp = $link->connect($host, $user, $passwd, $db, $port, $socket)))
63        printf("[015] Expecting NULL got %s/%s\n", gettype($tmp), $tmp);
64
65    print "done!";
66?>
67--EXPECT--
68array(1) {
69  ["it_works"]=>
70  string(2) "ok"
71}
72array(1) {
73  ["syntax"]=>
74  string(18) "works also with oo"
75}
76done!
77