xref: /PHP-7.3/ext/mysqli/tests/013.phpt (revision b746e698)
1--TEST--
2mysqli fetch mixed / mysql_query (may fail when using 4.1 library with 5.x server)
3--SKIPIF--
4<?php
5require_once('skipif.inc');
6require_once('skipifconnectfailure.inc');
7?>
8--FILE--
9<?php
10	require_once("connect.inc");
11
12	/*** test mysqli_connect 127.0.0.1 ***/
13	$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket);
14
15	if (!mysqli_query($link, "DROP TABLE IF EXISTS test_bind_result"))
16		printf("[001] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
17
18	$rc = mysqli_query($link, "CREATE TABLE test_bind_result(c1 tinyint, c2 smallint,
19														c3 int, c4 bigint,
20														c5 decimal(4,2), c6 double,
21														c7 varbinary(10),
22														c8 varchar(10)) ENGINE=" . $engine);
23	if (!$rc)
24		printf("[002] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
25
26	if (!mysqli_query($link, "INSERT INTO test_bind_result VALUES(120,2999,3999,54,
27															  2.6,58.89,
28															  '206','6.7')"))
29		printf("[003] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
30
31	$stmt = mysqli_prepare($link, "SELECT * FROM test_bind_result");
32
33	$c = array(0,0,0,0,0,0,0,0);
34	$b_res= mysqli_stmt_bind_result($stmt, $c[0], $c[1], $c[2], $c[3], $c[4], $c[5], $c[6], $c[7]);
35	mysqli_stmt_execute($stmt);
36	mysqli_stmt_fetch($stmt);
37	mysqli_stmt_fetch($stmt);
38	mysqli_stmt_close($stmt);
39
40	$result = mysqli_query($link, "select * from test_bind_result");
41	$d = mysqli_fetch_row($result);
42	mysqli_free_result($result);
43
44	$test = "";
45	for ($i=0; $i < count($c); $i++)
46		$test .= ($c[$i] == $d[$i]) ? "1" : "0";
47	if ($test == "11111111")
48		echo "ok\n";
49	else if ($b_res == FALSE && mysqli_get_client_version() > 40100 && mysqli_get_client_version() < 50000 &&
50				 mysqli_get_server_version($link) > 50000)
51		echo "error (4.1 library with 5.x server)";
52	else
53		echo "error";
54
55	mysqli_query($link, "DROP TABLE IF EXISTS test_bind_result");
56	mysqli_close($link);
57	print "done!";
58?>
59--CLEAN--
60<?php
61require_once("connect.inc");
62if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
63   printf("[c001] [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
64
65if (!mysqli_query($link, "DROP TABLE IF EXISTS test_bind_result"))
66	printf("[c002] Cannot drop table, [%d] %s\n", mysqli_errno($link), mysqli_error($link));
67
68mysqli_close($link);
69?>
70--EXPECT--
71ok
72done!
73