2
Interface of the class mysqli
5
require_once('skipif.inc');
6
require_once('skipifemb.inc');
7
require_once('skipifconnectfailure.inc');
13
function dump_properties($mysqli) {
15
printf("\nClass variables:\n");
16
$variables = array_keys(get_class_vars(get_class($mysqli)));
18
foreach ($variables as $k => $var) {
19
printf("%s = '%s'\n", $var, var_export(@$mysqli->$var, true));
22
printf("\nObject variables:\n");
23
$variables = array_keys(get_object_vars($mysqli));
24
foreach ($variables as $k => $var) {
25
printf("%s = '%s'\n", $var, var_export(@$mysqli->$var, true));
28
printf("\nMagic, magic properties:\n");
30
assert(@mysqli_affected_rows($mysqli) === @$mysqli->affected_rows);
31
printf("mysqli->affected_rows = '%s'/%s ('%s'/%s)\n",
32
@$mysqli->affected_rows, gettype(@$mysqli->affected_rows),
33
@mysqli_affected_rows($mysqli), gettype(@mysqli_affected_rows($mysqli)));
35
assert(@mysqli_get_client_info() === @$mysqli->client_info);
36
printf("mysqli->client_info = '%s'/%s ('%s'/%s)\n",
37
@$mysqli->client_info, gettype(@$mysqli->client_info),
38
@mysqli_get_client_info(), gettype(@mysqli_get_client_info()));
40
assert(@mysqli_get_client_version() === @$mysqli->client_version);
41
printf("mysqli->client_version = '%s'/%s ('%s'/%s)\n",
42
@$mysqli->client_version, gettype(@$mysqli->client_version),
43
@mysqli_get_client_version(), gettype(@mysqli_get_client_version()));
45
assert(@mysqli_errno($mysqli) === @$mysqli->errno);
46
printf("mysqli->errno = '%s'/%s ('%s'/%s)\n",
47
@$mysqli->errno, gettype(@$mysqli->errno),
49
@mysqli_errno($mysqli), gettype(@mysqli_errno($mysqli)));
51
assert(@mysqli_error($mysqli) === @$mysqli->error);
52
printf("mysqli->error = '%s'/%s ('%s'/%s)\n",
53
@$mysqli->error, gettype(@$mysqli->error),
54
@mysqli_error($mysqli), gettype(@mysqli_error($mysqli)));
56
assert(@mysqli_field_count($mysqli) === @$mysqli->field_count);
57
printf("mysqli->field_count = '%s'/%s ('%s'/%s)\n",
58
@$mysqli->field_count, gettype(@$mysqli->field_count),
59
@mysqli_field_count($mysqli), gettype(@mysqli_field_count($mysqli)));
61
assert(@mysqli_insert_id($mysqli) === @$mysqli->insert_id);
62
printf("mysqli->insert_id = '%s'/%s ('%s'/%s)\n",
63
@$mysqli->insert_id, gettype(@$mysqli->insert_id),
64
@mysqli_insert_id($mysqli), gettype(@mysqli_insert_id($mysqli)));
66
assert(@mysqli_sqlstate($mysqli) === @$mysqli->sqlstate);
67
printf("mysqli->sqlstate = '%s'/%s ('%s'/%s)\n",
68
@$mysqli->sqlstate, gettype(@$mysqli->sqlstate),
69
@mysqli_sqlstate($mysqli), gettype(@mysqli_sqlstate($mysqli)));
71
assert(@mysqli_get_host_info($mysqli) === @$mysqli->host_info);
72
printf("mysqli->host_info = '%s'/%s ('%s'/%s)\n",
73
@$mysqli->host_info, gettype(@$mysqli->host_info),
74
@mysqli_get_host_info($mysqli), gettype(@mysqli_get_host_info($mysqli)));
76
/* note that the data types are different */
77
assert(@mysqli_info($mysqli) == @$mysqli->info);
78
printf("mysqli->info = '%s'/%s ('%s'/%s)\n",
79
@$mysqli->info, gettype(@$mysqli->info),
80
@mysqli_info($mysqli), gettype(@mysqli_info($mysqli)));
82
assert(@mysqli_thread_id($mysqli) > @$mysqli->thread_id);
83
assert(gettype(@$mysqli->thread_id) == gettype(@mysqli_thread_id($mysqli)));
84
printf("mysqli->thread_id = '%s'/%s ('%s'/%s)\n",
85
@$mysqli->thread_id, gettype(@$mysqli->thread_id),
86
@mysqli_thread_id($mysqli), gettype(@mysqli_thread_id($mysqli)));
88
assert(@mysqli_get_proto_info($mysqli) === @$mysqli->protocol_version);
89
printf("mysqli->protocol_version = '%s'/%s ('%s'/%s)\n",
90
@$mysqli->protocol_version, gettype(@$mysqli->protocol_version),
91
@mysqli_get_proto_info($mysqli), gettype(@mysqli_get_proto_info($mysqli)));
93
assert(@mysqli_get_server_info($mysqli) === @$mysqli->server_info);
94
printf("mysqli->server_info = '%s'/%s ('%s'/%s)\n",
95
@$mysqli->server_info, gettype(@$mysqli->server_info),
96
@mysqli_get_server_info($mysqli), gettype(@mysqli_get_server_info($mysqli)));
98
assert(@mysqli_get_server_version($mysqli) === @$mysqli->server_version);
99
printf("mysqli->server_version = '%s'/%s ('%s'/%s)\n",
100
@$mysqli->server_version, gettype(@$mysqli->server_version),
101
@mysqli_get_server_version($mysqli), gettype(@mysqli_get_server_version($mysqli)));
103
assert(@mysqli_warning_count($mysqli) === @$mysqli->warning_count);
104
printf("mysqli->warning_count = '%s'/%s ('%s'/%s)\n",
105
@$mysqli->warning_count, gettype(@$mysqli->warning_count),
106
@mysqli_warning_count($mysqli), gettype(@mysqli_warning_count($mysqli)));
108
printf("\nAccess to undefined properties:\n");
109
printf("mysqli->unknown = '%s'\n", @$mysqli->unknown);
111
@$mysqli->unknown = 13;
112
printf("setting mysqli->unknown, @mysqli_unknown = '%s'\n", @$mysqli->unknown);
115
@$mysqli->unknown = $unknown;
116
printf("setting mysqli->unknown, @mysqli_unknown = '%s'\n", @$mysqli->unknown);
118
printf("\nAccess hidden properties for MYSLQI_STATUS_INITIALIZED (TODO documentation):\n");
119
assert(@mysqli_connect_error() === @$mysqli->connect_error);
120
printf("mysqli->connect_error = '%s'/%s ('%s'/%s)\n",
121
@$mysqli->connect_error, gettype(@$mysqli->connect_error),
122
@mysqli_connect_error(), gettype(@mysqli_connect_error()));
124
assert(@mysqli_connect_errno() === @$mysqli->connect_errno);
125
printf("mysqli->connect_errno = '%s'/%s ('%s'/%s)\n",
126
@$mysqli->connect_errno, gettype(@$mysqli->connect_errno),
127
@mysqli_connect_errno(), gettype(@mysqli_connect_errno()));
130
printf("Without RS\n");
131
$mysqli = @new mysqli($host, $user, $passwd . "invalid", $db, $port, $socket);
132
dump_properties($mysqli);
135
$mysqli = @new mysqli($host, $user, $passwd . "invalid", $db, $port, $socket);
136
$res = @$mysqli->query("SELECT * FROM test");
137
dump_properties($mysqli);
142
<?php require_once("clean_table.inc"); ?>
147
affected_rows = 'NULL'
149
client_version = '%s'
151
connect_error = ''%s'
158
protocol_version = 'NULL'
160
server_version = 'NULL'
163
warning_count = 'NULL'
166
affected_rows = 'NULL'
168
client_version = '%s'
178
server_version = 'NULL'
180
protocol_version = 'NULL'
182
warning_count = 'NULL'
184
Magic, magic properties:
185
mysqli->affected_rows = ''/NULL (''/NULL)
187
Warning: assert(): Assertion failed in %s on line %d
188
mysqli->client_info = ''/NULL ('%s'/%s)
189
mysqli->client_version = '%s'/integer ('%s'/integer)
190
mysqli->errno = ''/NULL (''/NULL)
191
mysqli->error = ''/NULL (''/NULL)
192
mysqli->field_count = ''/NULL (''/NULL)
193
mysqli->insert_id = ''/NULL (''/NULL)
194
mysqli->sqlstate = ''/NULL (''/NULL)
195
mysqli->host_info = ''/NULL (''/NULL)
196
mysqli->info = ''/NULL (''/NULL)
198
Warning: assert(): Assertion failed in %s on line %d
199
mysqli->thread_id = ''/NULL (''/NULL)
200
mysqli->protocol_version = ''/NULL (''/NULL)
201
mysqli->server_info = ''/NULL (''/NULL)
202
mysqli->server_version = ''/NULL (''/NULL)
203
mysqli->warning_count = ''/NULL (''/NULL)
205
Access to undefined properties:
207
setting mysqli->unknown, @mysqli_unknown = '13'
208
setting mysqli->unknown, @mysqli_unknown = 'friday'
210
Access hidden properties for MYSLQI_STATUS_INITIALIZED (TODO documentation):
211
mysqli->connect_error = '%s'/%s)
212
mysqli->connect_errno = '%s'/integer ('%s'/integer)
216
affected_rows = 'NULL'
218
client_version = '%s'
227
protocol_version = 'NULL'
229
server_version = 'NULL'
232
warning_count = 'NULL'
235
affected_rows = 'NULL'
237
client_version = '%s'
247
server_version = 'NULL'
249
protocol_version = 'NULL'
251
warning_count = 'NULL'
253
Magic, magic properties:
254
mysqli->affected_rows = ''/NULL (''/NULL)
256
Warning: assert(): Assertion failed in %s on line %d
257
mysqli->client_info = ''/NULL ('%s'/%s)
258
mysqli->client_version = '%s'/integer ('%s'/integer)
259
mysqli->errno = ''/NULL (''/NULL)
260
mysqli->error = ''/NULL (''/NULL)
261
mysqli->field_count = ''/NULL (''/NULL)
262
mysqli->insert_id = ''/NULL (''/NULL)
263
mysqli->sqlstate = ''/NULL (''/NULL)
264
mysqli->host_info = ''/NULL (''/NULL)
265
mysqli->info = ''/NULL (''/NULL)
267
Warning: assert(): Assertion failed in %s on line %d
268
mysqli->thread_id = ''/NULL (''/NULL)
269
mysqli->protocol_version = ''/NULL (''/NULL)
270
mysqli->server_info = ''/NULL (''/NULL)
271
mysqli->server_version = ''/NULL (''/NULL)
272
mysqli->warning_count = ''/NULL (''/NULL)
274
Access to undefined properties:
276
setting mysqli->unknown, @mysqli_unknown = '13'
277
setting mysqli->unknown, @mysqli_unknown = 'friday'
279
Access hidden properties for MYSLQI_STATUS_INITIALIZED (TODO documentation):
280
mysqli->connect_error = '%s'/%s)
281
mysqli->connect_errno = '%s'/integer ('%s'/integer)
b'\\ No newline at end of file'