xref: /PHP-8.3/ext/mysqli/mysqli_arginfo.h (revision 0b887042)
1 /* This is a generated file, edit the .stub.php file instead.
2  * Stub hash: a54ef005e9535458e886b7845a25a1c742a114ac */
3 
4 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mysqli_affected_rows, 0, 1, MAY_BE_LONG|MAY_BE_STRING)
5 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
6 ZEND_END_ARG_INFO()
7 
8 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_autocommit, 0, 2, _IS_BOOL, 0)
9 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
10 	ZEND_ARG_TYPE_INFO(0, enable, _IS_BOOL, 0)
11 ZEND_END_ARG_INFO()
12 
13 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_begin_transaction, 0, 1, _IS_BOOL, 0)
14 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
15 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
16 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, name, IS_STRING, 1, "null")
17 ZEND_END_ARG_INFO()
18 
19 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_change_user, 0, 4, _IS_BOOL, 0)
20 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
21 	ZEND_ARG_TYPE_INFO(0, username, IS_STRING, 0)
22 	ZEND_ARG_TYPE_INFO(0, password, IS_STRING, 0)
23 	ZEND_ARG_TYPE_INFO(0, database, IS_STRING, 1)
24 ZEND_END_ARG_INFO()
25 
26 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_character_set_name, 0, 1, IS_STRING, 0)
27 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
28 ZEND_END_ARG_INFO()
29 
30 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_close, 0, 1, IS_TRUE, 0)
31 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
32 ZEND_END_ARG_INFO()
33 
34 #define arginfo_mysqli_commit arginfo_mysqli_begin_transaction
35 
36 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_mysqli_connect, 0, 0, mysqli, MAY_BE_FALSE)
37 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, hostname, IS_STRING, 1, "null")
38 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, username, IS_STRING, 1, "null")
39 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, password, IS_STRING, 1, "null")
40 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, database, IS_STRING, 1, "null")
41 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, port, IS_LONG, 1, "null")
42 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, socket, IS_STRING, 1, "null")
43 ZEND_END_ARG_INFO()
44 
45 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_connect_errno, 0, 0, IS_LONG, 0)
46 ZEND_END_ARG_INFO()
47 
48 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_connect_error, 0, 0, IS_STRING, 1)
49 ZEND_END_ARG_INFO()
50 
51 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_data_seek, 0, 2, _IS_BOOL, 0)
52 	ZEND_ARG_OBJ_INFO(0, result, mysqli_result, 0)
53 	ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
54 ZEND_END_ARG_INFO()
55 
56 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_dump_debug_info, 0, 1, _IS_BOOL, 0)
57 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
58 ZEND_END_ARG_INFO()
59 
60 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_debug, 0, 1, IS_TRUE, 0)
61 	ZEND_ARG_TYPE_INFO(0, options, IS_STRING, 0)
62 ZEND_END_ARG_INFO()
63 
64 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_errno, 0, 1, IS_LONG, 0)
65 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
66 ZEND_END_ARG_INFO()
67 
68 #define arginfo_mysqli_error arginfo_mysqli_character_set_name
69 
70 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_error_list, 0, 1, IS_ARRAY, 0)
71 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
72 ZEND_END_ARG_INFO()
73 
74 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_stmt_execute, 0, 1, _IS_BOOL, 0)
75 	ZEND_ARG_OBJ_INFO(0, statement, mysqli_stmt, 0)
76 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, params, IS_ARRAY, 1, "null")
77 ZEND_END_ARG_INFO()
78 
79 #define arginfo_mysqli_execute arginfo_mysqli_stmt_execute
80 
81 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_mysqli_execute_query, 0, 2, mysqli_result, MAY_BE_BOOL)
82 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
83 	ZEND_ARG_TYPE_INFO(0, query, IS_STRING, 0)
84 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, params, IS_ARRAY, 1, "null")
85 ZEND_END_ARG_INFO()
86 
87 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mysqli_fetch_field, 0, 1, MAY_BE_OBJECT|MAY_BE_FALSE)
88 	ZEND_ARG_OBJ_INFO(0, result, mysqli_result, 0)
89 ZEND_END_ARG_INFO()
90 
91 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_fetch_fields, 0, 1, IS_ARRAY, 0)
92 	ZEND_ARG_OBJ_INFO(0, result, mysqli_result, 0)
93 ZEND_END_ARG_INFO()
94 
95 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mysqli_fetch_field_direct, 0, 2, MAY_BE_OBJECT|MAY_BE_FALSE)
96 	ZEND_ARG_OBJ_INFO(0, result, mysqli_result, 0)
97 	ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0)
98 ZEND_END_ARG_INFO()
99 
100 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mysqli_fetch_lengths, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
101 	ZEND_ARG_OBJ_INFO(0, result, mysqli_result, 0)
102 ZEND_END_ARG_INFO()
103 
104 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_fetch_all, 0, 1, IS_ARRAY, 0)
105 	ZEND_ARG_OBJ_INFO(0, result, mysqli_result, 0)
106 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "MYSQLI_NUM")
107 ZEND_END_ARG_INFO()
108 
109 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mysqli_fetch_array, 0, 1, MAY_BE_ARRAY|MAY_BE_NULL|MAY_BE_FALSE)
110 	ZEND_ARG_OBJ_INFO(0, result, mysqli_result, 0)
111 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "MYSQLI_BOTH")
112 ZEND_END_ARG_INFO()
113 
114 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mysqli_fetch_assoc, 0, 1, MAY_BE_ARRAY|MAY_BE_NULL|MAY_BE_FALSE)
115 	ZEND_ARG_OBJ_INFO(0, result, mysqli_result, 0)
116 ZEND_END_ARG_INFO()
117 
118 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mysqli_fetch_object, 0, 1, MAY_BE_OBJECT|MAY_BE_NULL|MAY_BE_FALSE)
119 	ZEND_ARG_OBJ_INFO(0, result, mysqli_result, 0)
120 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, class, IS_STRING, 0, "\"stdClass\"")
121 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, constructor_args, IS_ARRAY, 0, "[]")
122 ZEND_END_ARG_INFO()
123 
124 #define arginfo_mysqli_fetch_row arginfo_mysqli_fetch_assoc
125 
126 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mysqli_fetch_column, 0, 1, MAY_BE_NULL|MAY_BE_LONG|MAY_BE_DOUBLE|MAY_BE_STRING|MAY_BE_FALSE)
127 	ZEND_ARG_OBJ_INFO(0, result, mysqli_result, 0)
128 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, column, IS_LONG, 0, "0")
129 ZEND_END_ARG_INFO()
130 
131 #define arginfo_mysqli_field_count arginfo_mysqli_errno
132 
133 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_field_seek, 0, 2, IS_TRUE, 0)
134 	ZEND_ARG_OBJ_INFO(0, result, mysqli_result, 0)
135 	ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0)
136 ZEND_END_ARG_INFO()
137 
138 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_field_tell, 0, 1, IS_LONG, 0)
139 	ZEND_ARG_OBJ_INFO(0, result, mysqli_result, 0)
140 ZEND_END_ARG_INFO()
141 
142 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_free_result, 0, 1, IS_VOID, 0)
143 	ZEND_ARG_OBJ_INFO(0, result, mysqli_result, 0)
144 ZEND_END_ARG_INFO()
145 
146 #define arginfo_mysqli_get_connection_stats arginfo_mysqli_error_list
147 
148 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_get_client_stats, 0, 0, IS_ARRAY, 0)
149 ZEND_END_ARG_INFO()
150 
151 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_get_charset, 0, 1, IS_OBJECT, 1)
152 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
153 ZEND_END_ARG_INFO()
154 
155 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_get_client_info, 0, 0, IS_STRING, 0)
156 	ZEND_ARG_OBJ_INFO_WITH_DEFAULT_VALUE(0, mysql, mysqli, 1, "null")
157 ZEND_END_ARG_INFO()
158 
159 #define arginfo_mysqli_get_client_version arginfo_mysqli_connect_errno
160 
161 #define arginfo_mysqli_get_links_stats arginfo_mysqli_get_client_stats
162 
163 #define arginfo_mysqli_get_host_info arginfo_mysqli_character_set_name
164 
165 #define arginfo_mysqli_get_proto_info arginfo_mysqli_errno
166 
167 #define arginfo_mysqli_get_server_info arginfo_mysqli_character_set_name
168 
169 #define arginfo_mysqli_get_server_version arginfo_mysqli_errno
170 
171 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_mysqli_get_warnings, 0, 1, mysqli_warning, MAY_BE_FALSE)
172 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
173 ZEND_END_ARG_INFO()
174 
175 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_mysqli_init, 0, 0, mysqli, MAY_BE_FALSE)
176 ZEND_END_ARG_INFO()
177 
178 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_info, 0, 1, IS_STRING, 1)
179 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
180 ZEND_END_ARG_INFO()
181 
182 #define arginfo_mysqli_insert_id arginfo_mysqli_affected_rows
183 
184 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_kill, 0, 2, _IS_BOOL, 0)
185 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
186 	ZEND_ARG_TYPE_INFO(0, process_id, IS_LONG, 0)
187 ZEND_END_ARG_INFO()
188 
189 #define arginfo_mysqli_more_results arginfo_mysqli_dump_debug_info
190 
191 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_multi_query, 0, 2, _IS_BOOL, 0)
192 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
193 	ZEND_ARG_TYPE_INFO(0, query, IS_STRING, 0)
194 ZEND_END_ARG_INFO()
195 
196 #define arginfo_mysqli_next_result arginfo_mysqli_dump_debug_info
197 
198 #define arginfo_mysqli_num_fields arginfo_mysqli_field_tell
199 
200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mysqli_num_rows, 0, 1, MAY_BE_LONG|MAY_BE_STRING)
201 	ZEND_ARG_OBJ_INFO(0, result, mysqli_result, 0)
202 ZEND_END_ARG_INFO()
203 
204 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_options, 0, 3, _IS_BOOL, 0)
205 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
206 	ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0)
207 	ZEND_ARG_INFO(0, value)
208 ZEND_END_ARG_INFO()
209 
210 #define arginfo_mysqli_set_opt arginfo_mysqli_options
211 
212 #define arginfo_mysqli_ping arginfo_mysqli_dump_debug_info
213 
214 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mysqli_poll, 0, 4, MAY_BE_LONG|MAY_BE_FALSE)
215 	ZEND_ARG_TYPE_INFO(1, read, IS_ARRAY, 1)
216 	ZEND_ARG_TYPE_INFO(1, error, IS_ARRAY, 1)
217 	ZEND_ARG_TYPE_INFO(1, reject, IS_ARRAY, 0)
218 	ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0)
219 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, microseconds, IS_LONG, 0, "0")
220 ZEND_END_ARG_INFO()
221 
222 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_mysqli_prepare, 0, 2, mysqli_stmt, MAY_BE_FALSE)
223 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
224 	ZEND_ARG_TYPE_INFO(0, query, IS_STRING, 0)
225 ZEND_END_ARG_INFO()
226 
227 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_report, 0, 1, _IS_BOOL, 0)
228 	ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
229 ZEND_END_ARG_INFO()
230 
231 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_mysqli_query, 0, 2, mysqli_result, MAY_BE_BOOL)
232 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
233 	ZEND_ARG_TYPE_INFO(0, query, IS_STRING, 0)
234 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, result_mode, IS_LONG, 0, "MYSQLI_STORE_RESULT")
235 ZEND_END_ARG_INFO()
236 
237 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_real_connect, 0, 1, _IS_BOOL, 0)
238 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
239 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, hostname, IS_STRING, 1, "null")
240 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, username, IS_STRING, 1, "null")
241 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, password, IS_STRING, 1, "null")
242 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, database, IS_STRING, 1, "null")
243 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, port, IS_LONG, 1, "null")
244 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, socket, IS_STRING, 1, "null")
245 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
246 ZEND_END_ARG_INFO()
247 
248 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_real_escape_string, 0, 2, IS_STRING, 0)
249 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
250 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
251 ZEND_END_ARG_INFO()
252 
253 #define arginfo_mysqli_escape_string arginfo_mysqli_real_escape_string
254 
255 #define arginfo_mysqli_real_query arginfo_mysqli_multi_query
256 
257 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_mysqli_reap_async_query, 0, 1, mysqli_result, MAY_BE_BOOL)
258 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
259 ZEND_END_ARG_INFO()
260 
261 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_release_savepoint, 0, 2, _IS_BOOL, 0)
262 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
263 	ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
264 ZEND_END_ARG_INFO()
265 
266 #define arginfo_mysqli_rollback arginfo_mysqli_begin_transaction
267 
268 #define arginfo_mysqli_savepoint arginfo_mysqli_release_savepoint
269 
270 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_select_db, 0, 2, _IS_BOOL, 0)
271 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
272 	ZEND_ARG_TYPE_INFO(0, database, IS_STRING, 0)
273 ZEND_END_ARG_INFO()
274 
275 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_set_charset, 0, 2, _IS_BOOL, 0)
276 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
277 	ZEND_ARG_TYPE_INFO(0, charset, IS_STRING, 0)
278 ZEND_END_ARG_INFO()
279 
280 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mysqli_stmt_affected_rows, 0, 1, MAY_BE_LONG|MAY_BE_STRING)
281 	ZEND_ARG_OBJ_INFO(0, statement, mysqli_stmt, 0)
282 ZEND_END_ARG_INFO()
283 
284 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_stmt_attr_get, 0, 2, IS_LONG, 0)
285 	ZEND_ARG_OBJ_INFO(0, statement, mysqli_stmt, 0)
286 	ZEND_ARG_TYPE_INFO(0, attribute, IS_LONG, 0)
287 ZEND_END_ARG_INFO()
288 
289 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_stmt_attr_set, 0, 3, _IS_BOOL, 0)
290 	ZEND_ARG_OBJ_INFO(0, statement, mysqli_stmt, 0)
291 	ZEND_ARG_TYPE_INFO(0, attribute, IS_LONG, 0)
292 	ZEND_ARG_TYPE_INFO(0, value, IS_LONG, 0)
293 ZEND_END_ARG_INFO()
294 
295 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_stmt_bind_param, 0, 2, _IS_BOOL, 0)
296 	ZEND_ARG_OBJ_INFO(0, statement, mysqli_stmt, 0)
297 	ZEND_ARG_TYPE_INFO(0, types, IS_STRING, 0)
298 	ZEND_ARG_VARIADIC_TYPE_INFO(1, vars, IS_MIXED, 0)
299 ZEND_END_ARG_INFO()
300 
301 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_stmt_bind_result, 0, 1, _IS_BOOL, 0)
302 	ZEND_ARG_OBJ_INFO(0, statement, mysqli_stmt, 0)
303 	ZEND_ARG_VARIADIC_TYPE_INFO(1, vars, IS_MIXED, 0)
304 ZEND_END_ARG_INFO()
305 
306 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_stmt_close, 0, 1, IS_TRUE, 0)
307 	ZEND_ARG_OBJ_INFO(0, statement, mysqli_stmt, 0)
308 ZEND_END_ARG_INFO()
309 
310 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_stmt_data_seek, 0, 2, IS_VOID, 0)
311 	ZEND_ARG_OBJ_INFO(0, statement, mysqli_stmt, 0)
312 	ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
313 ZEND_END_ARG_INFO()
314 
315 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_stmt_errno, 0, 1, IS_LONG, 0)
316 	ZEND_ARG_OBJ_INFO(0, statement, mysqli_stmt, 0)
317 ZEND_END_ARG_INFO()
318 
319 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_stmt_error, 0, 1, IS_STRING, 0)
320 	ZEND_ARG_OBJ_INFO(0, statement, mysqli_stmt, 0)
321 ZEND_END_ARG_INFO()
322 
323 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_stmt_error_list, 0, 1, IS_ARRAY, 0)
324 	ZEND_ARG_OBJ_INFO(0, statement, mysqli_stmt, 0)
325 ZEND_END_ARG_INFO()
326 
327 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_stmt_fetch, 0, 1, _IS_BOOL, 1)
328 	ZEND_ARG_OBJ_INFO(0, statement, mysqli_stmt, 0)
329 ZEND_END_ARG_INFO()
330 
331 #define arginfo_mysqli_stmt_field_count arginfo_mysqli_stmt_errno
332 
333 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_stmt_free_result, 0, 1, IS_VOID, 0)
334 	ZEND_ARG_OBJ_INFO(0, statement, mysqli_stmt, 0)
335 ZEND_END_ARG_INFO()
336 
337 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_mysqli_stmt_get_result, 0, 1, mysqli_result, MAY_BE_FALSE)
338 	ZEND_ARG_OBJ_INFO(0, statement, mysqli_stmt, 0)
339 ZEND_END_ARG_INFO()
340 
341 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_mysqli_stmt_get_warnings, 0, 1, mysqli_warning, MAY_BE_FALSE)
342 	ZEND_ARG_OBJ_INFO(0, statement, mysqli_stmt, 0)
343 ZEND_END_ARG_INFO()
344 
345 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_mysqli_stmt_init, 0, 1, mysqli_stmt, MAY_BE_FALSE)
346 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
347 ZEND_END_ARG_INFO()
348 
349 #define arginfo_mysqli_stmt_insert_id arginfo_mysqli_stmt_affected_rows
350 
351 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_stmt_more_results, 0, 1, _IS_BOOL, 0)
352 	ZEND_ARG_OBJ_INFO(0, statement, mysqli_stmt, 0)
353 ZEND_END_ARG_INFO()
354 
355 #define arginfo_mysqli_stmt_next_result arginfo_mysqli_stmt_more_results
356 
357 #define arginfo_mysqli_stmt_num_rows arginfo_mysqli_stmt_affected_rows
358 
359 #define arginfo_mysqli_stmt_param_count arginfo_mysqli_stmt_errno
360 
361 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_stmt_prepare, 0, 2, _IS_BOOL, 0)
362 	ZEND_ARG_OBJ_INFO(0, statement, mysqli_stmt, 0)
363 	ZEND_ARG_TYPE_INFO(0, query, IS_STRING, 0)
364 ZEND_END_ARG_INFO()
365 
366 #define arginfo_mysqli_stmt_reset arginfo_mysqli_stmt_more_results
367 
368 #define arginfo_mysqli_stmt_result_metadata arginfo_mysqli_stmt_get_result
369 
370 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_stmt_send_long_data, 0, 3, _IS_BOOL, 0)
371 	ZEND_ARG_OBJ_INFO(0, statement, mysqli_stmt, 0)
372 	ZEND_ARG_TYPE_INFO(0, param_num, IS_LONG, 0)
373 	ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
374 ZEND_END_ARG_INFO()
375 
376 #define arginfo_mysqli_stmt_store_result arginfo_mysqli_stmt_more_results
377 
378 #define arginfo_mysqli_stmt_sqlstate arginfo_mysqli_stmt_error
379 
380 #define arginfo_mysqli_sqlstate arginfo_mysqli_character_set_name
381 
382 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_ssl_set, 0, 6, IS_TRUE, 0)
383 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
384 	ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 1)
385 	ZEND_ARG_TYPE_INFO(0, certificate, IS_STRING, 1)
386 	ZEND_ARG_TYPE_INFO(0, ca_certificate, IS_STRING, 1)
387 	ZEND_ARG_TYPE_INFO(0, ca_path, IS_STRING, 1)
388 	ZEND_ARG_TYPE_INFO(0, cipher_algos, IS_STRING, 1)
389 ZEND_END_ARG_INFO()
390 
391 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mysqli_stat, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
392 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
393 ZEND_END_ARG_INFO()
394 
395 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_mysqli_store_result, 0, 1, mysqli_result, MAY_BE_FALSE)
396 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
397 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "0")
398 ZEND_END_ARG_INFO()
399 
400 #define arginfo_mysqli_thread_id arginfo_mysqli_errno
401 
402 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_thread_safe, 0, 0, _IS_BOOL, 0)
403 ZEND_END_ARG_INFO()
404 
405 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_mysqli_use_result, 0, 1, mysqli_result, MAY_BE_FALSE)
406 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
407 ZEND_END_ARG_INFO()
408 
409 #define arginfo_mysqli_warning_count arginfo_mysqli_errno
410 
411 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_mysqli_refresh, 0, 2, _IS_BOOL, 0)
412 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
413 	ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
414 ZEND_END_ARG_INFO()
415 
416 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli___construct, 0, 0, 0)
417 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, hostname, IS_STRING, 1, "null")
418 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, username, IS_STRING, 1, "null")
419 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, password, IS_STRING, 1, "null")
420 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, database, IS_STRING, 1, "null")
421 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, port, IS_LONG, 1, "null")
422 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, socket, IS_STRING, 1, "null")
423 ZEND_END_ARG_INFO()
424 
425 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_autocommit, 0, 1, _IS_BOOL, 0)
426 	ZEND_ARG_TYPE_INFO(0, enable, _IS_BOOL, 0)
427 ZEND_END_ARG_INFO()
428 
429 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_begin_transaction, 0, 0, _IS_BOOL, 0)
430 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
431 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, name, IS_STRING, 1, "null")
432 ZEND_END_ARG_INFO()
433 
434 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_change_user, 0, 3, _IS_BOOL, 0)
435 	ZEND_ARG_TYPE_INFO(0, username, IS_STRING, 0)
436 	ZEND_ARG_TYPE_INFO(0, password, IS_STRING, 0)
437 	ZEND_ARG_TYPE_INFO(0, database, IS_STRING, 1)
438 ZEND_END_ARG_INFO()
439 
440 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_character_set_name, 0, 0, IS_STRING, 0)
441 ZEND_END_ARG_INFO()
442 
443 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_close, 0, 0, 0)
444 ZEND_END_ARG_INFO()
445 
446 #define arginfo_class_mysqli_commit arginfo_class_mysqli_begin_transaction
447 
448 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_connect, 0, 0, _IS_BOOL, 0)
449 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, hostname, IS_STRING, 1, "null")
450 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, username, IS_STRING, 1, "null")
451 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, password, IS_STRING, 1, "null")
452 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, database, IS_STRING, 1, "null")
453 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, port, IS_LONG, 1, "null")
454 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, socket, IS_STRING, 1, "null")
455 ZEND_END_ARG_INFO()
456 
457 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_dump_debug_info, 0, 0, _IS_BOOL, 0)
458 ZEND_END_ARG_INFO()
459 
460 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_debug, 0, 0, 1)
461 	ZEND_ARG_TYPE_INFO(0, options, IS_STRING, 0)
462 ZEND_END_ARG_INFO()
463 
464 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_get_charset, 0, 0, IS_OBJECT, 1)
465 ZEND_END_ARG_INFO()
466 
467 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_mysqli_execute_query, 0, 1, mysqli_result, MAY_BE_BOOL)
468 	ZEND_ARG_TYPE_INFO(0, query, IS_STRING, 0)
469 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, params, IS_ARRAY, 1, "null")
470 ZEND_END_ARG_INFO()
471 
472 #define arginfo_class_mysqli_get_client_info arginfo_class_mysqli_character_set_name
473 
474 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_get_connection_stats, 0, 0, IS_ARRAY, 0)
475 ZEND_END_ARG_INFO()
476 
477 #define arginfo_class_mysqli_get_server_info arginfo_class_mysqli_character_set_name
478 
479 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_mysqli_get_warnings, 0, 0, mysqli_warning, MAY_BE_FALSE)
480 ZEND_END_ARG_INFO()
481 
482 #define arginfo_class_mysqli_init arginfo_class_mysqli_close
483 
484 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_kill, 0, 1, _IS_BOOL, 0)
485 	ZEND_ARG_TYPE_INFO(0, process_id, IS_LONG, 0)
486 ZEND_END_ARG_INFO()
487 
488 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_multi_query, 0, 1, _IS_BOOL, 0)
489 	ZEND_ARG_TYPE_INFO(0, query, IS_STRING, 0)
490 ZEND_END_ARG_INFO()
491 
492 #define arginfo_class_mysqli_more_results arginfo_class_mysqli_dump_debug_info
493 
494 #define arginfo_class_mysqli_next_result arginfo_class_mysqli_dump_debug_info
495 
496 #define arginfo_class_mysqli_ping arginfo_class_mysqli_dump_debug_info
497 
498 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_MASK_EX(arginfo_class_mysqli_poll, 0, 4, MAY_BE_LONG|MAY_BE_FALSE)
499 	ZEND_ARG_TYPE_INFO(1, read, IS_ARRAY, 1)
500 	ZEND_ARG_TYPE_INFO(1, error, IS_ARRAY, 1)
501 	ZEND_ARG_TYPE_INFO(1, reject, IS_ARRAY, 0)
502 	ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0)
503 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, microseconds, IS_LONG, 0, "0")
504 ZEND_END_ARG_INFO()
505 
506 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_mysqli_prepare, 0, 1, mysqli_stmt, MAY_BE_FALSE)
507 	ZEND_ARG_TYPE_INFO(0, query, IS_STRING, 0)
508 ZEND_END_ARG_INFO()
509 
510 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_mysqli_query, 0, 1, mysqli_result, MAY_BE_BOOL)
511 	ZEND_ARG_TYPE_INFO(0, query, IS_STRING, 0)
512 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, result_mode, IS_LONG, 0, "MYSQLI_STORE_RESULT")
513 ZEND_END_ARG_INFO()
514 
515 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_real_connect, 0, 0, _IS_BOOL, 0)
516 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, hostname, IS_STRING, 1, "null")
517 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, username, IS_STRING, 1, "null")
518 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, password, IS_STRING, 1, "null")
519 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, database, IS_STRING, 1, "null")
520 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, port, IS_LONG, 1, "null")
521 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, socket, IS_STRING, 1, "null")
522 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
523 ZEND_END_ARG_INFO()
524 
525 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_real_escape_string, 0, 1, IS_STRING, 0)
526 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
527 ZEND_END_ARG_INFO()
528 
529 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_mysqli_reap_async_query, 0, 0, mysqli_result, MAY_BE_BOOL)
530 ZEND_END_ARG_INFO()
531 
532 #define arginfo_class_mysqli_escape_string arginfo_class_mysqli_real_escape_string
533 
534 #define arginfo_class_mysqli_real_query arginfo_class_mysqli_multi_query
535 
536 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_release_savepoint, 0, 1, _IS_BOOL, 0)
537 	ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
538 ZEND_END_ARG_INFO()
539 
540 #define arginfo_class_mysqli_rollback arginfo_class_mysqli_begin_transaction
541 
542 #define arginfo_class_mysqli_savepoint arginfo_class_mysqli_release_savepoint
543 
544 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_select_db, 0, 1, _IS_BOOL, 0)
545 	ZEND_ARG_TYPE_INFO(0, database, IS_STRING, 0)
546 ZEND_END_ARG_INFO()
547 
548 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_set_charset, 0, 1, _IS_BOOL, 0)
549 	ZEND_ARG_TYPE_INFO(0, charset, IS_STRING, 0)
550 ZEND_END_ARG_INFO()
551 
552 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_options, 0, 2, _IS_BOOL, 0)
553 	ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0)
554 	ZEND_ARG_INFO(0, value)
555 ZEND_END_ARG_INFO()
556 
557 #define arginfo_class_mysqli_set_opt arginfo_class_mysqli_options
558 
559 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_ssl_set, 0, 0, 5)
560 	ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 1)
561 	ZEND_ARG_TYPE_INFO(0, certificate, IS_STRING, 1)
562 	ZEND_ARG_TYPE_INFO(0, ca_certificate, IS_STRING, 1)
563 	ZEND_ARG_TYPE_INFO(0, ca_path, IS_STRING, 1)
564 	ZEND_ARG_TYPE_INFO(0, cipher_algos, IS_STRING, 1)
565 ZEND_END_ARG_INFO()
566 
567 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_MASK_EX(arginfo_class_mysqli_stat, 0, 0, MAY_BE_STRING|MAY_BE_FALSE)
568 ZEND_END_ARG_INFO()
569 
570 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_mysqli_stmt_init, 0, 0, mysqli_stmt, MAY_BE_FALSE)
571 ZEND_END_ARG_INFO()
572 
573 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_mysqli_store_result, 0, 0, mysqli_result, MAY_BE_FALSE)
574 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "0")
575 ZEND_END_ARG_INFO()
576 
577 #define arginfo_class_mysqli_thread_safe arginfo_class_mysqli_dump_debug_info
578 
579 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_mysqli_use_result, 0, 0, mysqli_result, MAY_BE_FALSE)
580 ZEND_END_ARG_INFO()
581 
582 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_refresh, 0, 1, _IS_BOOL, 0)
583 	ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
584 ZEND_END_ARG_INFO()
585 
586 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_result___construct, 0, 0, 1)
587 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
588 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, result_mode, IS_LONG, 0, "MYSQLI_STORE_RESULT")
589 ZEND_END_ARG_INFO()
590 
591 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_result_close, 0, 0, IS_VOID, 0)
592 ZEND_END_ARG_INFO()
593 
594 #define arginfo_class_mysqli_result_free arginfo_class_mysqli_result_close
595 
596 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_result_data_seek, 0, 1, _IS_BOOL, 0)
597 	ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
598 ZEND_END_ARG_INFO()
599 
600 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_MASK_EX(arginfo_class_mysqli_result_fetch_field, 0, 0, MAY_BE_OBJECT|MAY_BE_FALSE)
601 ZEND_END_ARG_INFO()
602 
603 #define arginfo_class_mysqli_result_fetch_fields arginfo_class_mysqli_get_connection_stats
604 
605 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_MASK_EX(arginfo_class_mysqli_result_fetch_field_direct, 0, 1, MAY_BE_OBJECT|MAY_BE_FALSE)
606 	ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0)
607 ZEND_END_ARG_INFO()
608 
609 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_result_fetch_all, 0, 0, IS_ARRAY, 0)
610 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "MYSQLI_NUM")
611 ZEND_END_ARG_INFO()
612 
613 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_MASK_EX(arginfo_class_mysqli_result_fetch_array, 0, 0, MAY_BE_ARRAY|MAY_BE_NULL|MAY_BE_FALSE)
614 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "MYSQLI_BOTH")
615 ZEND_END_ARG_INFO()
616 
617 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_MASK_EX(arginfo_class_mysqli_result_fetch_assoc, 0, 0, MAY_BE_ARRAY|MAY_BE_NULL|MAY_BE_FALSE)
618 ZEND_END_ARG_INFO()
619 
620 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_MASK_EX(arginfo_class_mysqli_result_fetch_object, 0, 0, MAY_BE_OBJECT|MAY_BE_NULL|MAY_BE_FALSE)
621 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, class, IS_STRING, 0, "\"stdClass\"")
622 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, constructor_args, IS_ARRAY, 0, "[]")
623 ZEND_END_ARG_INFO()
624 
625 #define arginfo_class_mysqli_result_fetch_row arginfo_class_mysqli_result_fetch_assoc
626 
627 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_mysqli_result_fetch_column, 0, 0, MAY_BE_NULL|MAY_BE_LONG|MAY_BE_DOUBLE|MAY_BE_STRING|MAY_BE_FALSE)
628 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, column, IS_LONG, 0, "0")
629 ZEND_END_ARG_INFO()
630 
631 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_result_field_seek, 0, 1, IS_TRUE, 0)
632 	ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0)
633 ZEND_END_ARG_INFO()
634 
635 #define arginfo_class_mysqli_result_free_result arginfo_class_mysqli_result_close
636 
637 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_mysqli_result_getIterator, 0, 0, Iterator, 0)
638 ZEND_END_ARG_INFO()
639 
640 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_stmt___construct, 0, 0, 1)
641 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
642 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, query, IS_STRING, 1, "null")
643 ZEND_END_ARG_INFO()
644 
645 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_stmt_attr_get, 0, 1, IS_LONG, 0)
646 	ZEND_ARG_TYPE_INFO(0, attribute, IS_LONG, 0)
647 ZEND_END_ARG_INFO()
648 
649 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_stmt_attr_set, 0, 2, _IS_BOOL, 0)
650 	ZEND_ARG_TYPE_INFO(0, attribute, IS_LONG, 0)
651 	ZEND_ARG_TYPE_INFO(0, value, IS_LONG, 0)
652 ZEND_END_ARG_INFO()
653 
654 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_stmt_bind_param, 0, 1, _IS_BOOL, 0)
655 	ZEND_ARG_TYPE_INFO(0, types, IS_STRING, 0)
656 	ZEND_ARG_VARIADIC_TYPE_INFO(1, vars, IS_MIXED, 0)
657 ZEND_END_ARG_INFO()
658 
659 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_stmt_bind_result, 0, 0, _IS_BOOL, 0)
660 	ZEND_ARG_VARIADIC_TYPE_INFO(1, vars, IS_MIXED, 0)
661 ZEND_END_ARG_INFO()
662 
663 #define arginfo_class_mysqli_stmt_close arginfo_class_mysqli_close
664 
665 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_stmt_data_seek, 0, 1, IS_VOID, 0)
666 	ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
667 ZEND_END_ARG_INFO()
668 
669 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_stmt_execute, 0, 0, _IS_BOOL, 0)
670 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, params, IS_ARRAY, 1, "null")
671 ZEND_END_ARG_INFO()
672 
673 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_stmt_fetch, 0, 0, _IS_BOOL, 1)
674 ZEND_END_ARG_INFO()
675 
676 #define arginfo_class_mysqli_stmt_get_warnings arginfo_class_mysqli_get_warnings
677 
678 #define arginfo_class_mysqli_stmt_result_metadata arginfo_class_mysqli_use_result
679 
680 #define arginfo_class_mysqli_stmt_more_results arginfo_class_mysqli_dump_debug_info
681 
682 #define arginfo_class_mysqli_stmt_next_result arginfo_class_mysqli_dump_debug_info
683 
684 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_MASK_EX(arginfo_class_mysqli_stmt_num_rows, 0, 0, MAY_BE_LONG|MAY_BE_STRING)
685 ZEND_END_ARG_INFO()
686 
687 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_stmt_send_long_data, 0, 2, _IS_BOOL, 0)
688 	ZEND_ARG_TYPE_INFO(0, param_num, IS_LONG, 0)
689 	ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
690 ZEND_END_ARG_INFO()
691 
692 #define arginfo_class_mysqli_stmt_free_result arginfo_class_mysqli_result_close
693 
694 #define arginfo_class_mysqli_stmt_reset arginfo_class_mysqli_dump_debug_info
695 
696 #define arginfo_class_mysqli_stmt_prepare arginfo_class_mysqli_multi_query
697 
698 #define arginfo_class_mysqli_stmt_store_result arginfo_class_mysqli_dump_debug_info
699 
700 #define arginfo_class_mysqli_stmt_get_result arginfo_class_mysqli_use_result
701 
702 #define arginfo_class_mysqli_warning___construct arginfo_class_mysqli_close
703 
704 #define arginfo_class_mysqli_warning_next arginfo_mysqli_thread_safe
705 
706 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_sql_exception_getSqlState, 0, 0, IS_STRING, 0)
707 ZEND_END_ARG_INFO()
708 
709 
710 ZEND_FUNCTION(mysqli_affected_rows);
711 ZEND_FUNCTION(mysqli_autocommit);
712 ZEND_FUNCTION(mysqli_begin_transaction);
713 ZEND_FUNCTION(mysqli_change_user);
714 ZEND_FUNCTION(mysqli_character_set_name);
715 ZEND_FUNCTION(mysqli_close);
716 ZEND_FUNCTION(mysqli_commit);
717 ZEND_FUNCTION(mysqli_connect);
718 ZEND_FUNCTION(mysqli_connect_errno);
719 ZEND_FUNCTION(mysqli_connect_error);
720 ZEND_FUNCTION(mysqli_data_seek);
721 ZEND_FUNCTION(mysqli_dump_debug_info);
722 ZEND_FUNCTION(mysqli_debug);
723 ZEND_FUNCTION(mysqli_errno);
724 ZEND_FUNCTION(mysqli_error);
725 ZEND_FUNCTION(mysqli_error_list);
726 ZEND_FUNCTION(mysqli_stmt_execute);
727 ZEND_FUNCTION(mysqli_execute_query);
728 ZEND_FUNCTION(mysqli_fetch_field);
729 ZEND_FUNCTION(mysqli_fetch_fields);
730 ZEND_FUNCTION(mysqli_fetch_field_direct);
731 ZEND_FUNCTION(mysqli_fetch_lengths);
732 ZEND_FUNCTION(mysqli_fetch_all);
733 ZEND_FUNCTION(mysqli_fetch_array);
734 ZEND_FUNCTION(mysqli_fetch_assoc);
735 ZEND_FUNCTION(mysqli_fetch_object);
736 ZEND_FUNCTION(mysqli_fetch_row);
737 ZEND_FUNCTION(mysqli_fetch_column);
738 ZEND_FUNCTION(mysqli_field_count);
739 ZEND_FUNCTION(mysqli_field_seek);
740 ZEND_FUNCTION(mysqli_field_tell);
741 ZEND_FUNCTION(mysqli_free_result);
742 ZEND_FUNCTION(mysqli_get_connection_stats);
743 ZEND_FUNCTION(mysqli_get_client_stats);
744 ZEND_FUNCTION(mysqli_get_charset);
745 ZEND_FUNCTION(mysqli_get_client_info);
746 ZEND_FUNCTION(mysqli_get_client_version);
747 ZEND_FUNCTION(mysqli_get_links_stats);
748 ZEND_FUNCTION(mysqli_get_host_info);
749 ZEND_FUNCTION(mysqli_get_proto_info);
750 ZEND_FUNCTION(mysqli_get_server_info);
751 ZEND_FUNCTION(mysqli_get_server_version);
752 ZEND_FUNCTION(mysqli_get_warnings);
753 ZEND_FUNCTION(mysqli_init);
754 ZEND_FUNCTION(mysqli_info);
755 ZEND_FUNCTION(mysqli_insert_id);
756 ZEND_FUNCTION(mysqli_kill);
757 ZEND_FUNCTION(mysqli_more_results);
758 ZEND_FUNCTION(mysqli_multi_query);
759 ZEND_FUNCTION(mysqli_next_result);
760 ZEND_FUNCTION(mysqli_num_fields);
761 ZEND_FUNCTION(mysqli_num_rows);
762 ZEND_FUNCTION(mysqli_options);
763 ZEND_FUNCTION(mysqli_ping);
764 ZEND_FUNCTION(mysqli_poll);
765 ZEND_FUNCTION(mysqli_prepare);
766 ZEND_FUNCTION(mysqli_report);
767 ZEND_FUNCTION(mysqli_query);
768 ZEND_FUNCTION(mysqli_real_connect);
769 ZEND_FUNCTION(mysqli_real_escape_string);
770 ZEND_FUNCTION(mysqli_real_query);
771 ZEND_FUNCTION(mysqli_reap_async_query);
772 ZEND_FUNCTION(mysqli_release_savepoint);
773 ZEND_FUNCTION(mysqli_rollback);
774 ZEND_FUNCTION(mysqli_savepoint);
775 ZEND_FUNCTION(mysqli_select_db);
776 ZEND_FUNCTION(mysqli_set_charset);
777 ZEND_FUNCTION(mysqli_stmt_affected_rows);
778 ZEND_FUNCTION(mysqli_stmt_attr_get);
779 ZEND_FUNCTION(mysqli_stmt_attr_set);
780 ZEND_FUNCTION(mysqli_stmt_bind_param);
781 ZEND_FUNCTION(mysqli_stmt_bind_result);
782 ZEND_FUNCTION(mysqli_stmt_close);
783 ZEND_FUNCTION(mysqli_stmt_data_seek);
784 ZEND_FUNCTION(mysqli_stmt_errno);
785 ZEND_FUNCTION(mysqli_stmt_error);
786 ZEND_FUNCTION(mysqli_stmt_error_list);
787 ZEND_FUNCTION(mysqli_stmt_fetch);
788 ZEND_FUNCTION(mysqli_stmt_field_count);
789 ZEND_FUNCTION(mysqli_stmt_free_result);
790 ZEND_FUNCTION(mysqli_stmt_get_result);
791 ZEND_FUNCTION(mysqli_stmt_get_warnings);
792 ZEND_FUNCTION(mysqli_stmt_init);
793 ZEND_FUNCTION(mysqli_stmt_insert_id);
794 ZEND_FUNCTION(mysqli_stmt_more_results);
795 ZEND_FUNCTION(mysqli_stmt_next_result);
796 ZEND_FUNCTION(mysqli_stmt_num_rows);
797 ZEND_FUNCTION(mysqli_stmt_param_count);
798 ZEND_FUNCTION(mysqli_stmt_prepare);
799 ZEND_FUNCTION(mysqli_stmt_reset);
800 ZEND_FUNCTION(mysqli_stmt_result_metadata);
801 ZEND_FUNCTION(mysqli_stmt_send_long_data);
802 ZEND_FUNCTION(mysqli_stmt_store_result);
803 ZEND_FUNCTION(mysqli_stmt_sqlstate);
804 ZEND_FUNCTION(mysqli_sqlstate);
805 ZEND_FUNCTION(mysqli_ssl_set);
806 ZEND_FUNCTION(mysqli_stat);
807 ZEND_FUNCTION(mysqli_store_result);
808 ZEND_FUNCTION(mysqli_thread_id);
809 ZEND_FUNCTION(mysqli_thread_safe);
810 ZEND_FUNCTION(mysqli_use_result);
811 ZEND_FUNCTION(mysqli_warning_count);
812 ZEND_FUNCTION(mysqli_refresh);
813 ZEND_METHOD(mysqli, __construct);
814 ZEND_METHOD(mysqli, init);
815 ZEND_METHOD(mysqli_result, __construct);
816 ZEND_METHOD(mysqli_result, getIterator);
817 ZEND_METHOD(mysqli_stmt, __construct);
818 ZEND_METHOD(mysqli_warning, __construct);
819 ZEND_METHOD(mysqli_warning, next);
820 ZEND_METHOD(mysqli_sql_exception, getSqlState);
821 
822 
823 static const zend_function_entry ext_functions[] = {
824 	ZEND_FE(mysqli_affected_rows, arginfo_mysqli_affected_rows)
825 	ZEND_FE(mysqli_autocommit, arginfo_mysqli_autocommit)
826 	ZEND_FE(mysqli_begin_transaction, arginfo_mysqli_begin_transaction)
827 	ZEND_FE(mysqli_change_user, arginfo_mysqli_change_user)
828 	ZEND_FE(mysqli_character_set_name, arginfo_mysqli_character_set_name)
829 	ZEND_FE(mysqli_close, arginfo_mysqli_close)
830 	ZEND_FE(mysqli_commit, arginfo_mysqli_commit)
831 	ZEND_FE(mysqli_connect, arginfo_mysqli_connect)
832 	ZEND_FE(mysqli_connect_errno, arginfo_mysqli_connect_errno)
833 	ZEND_FE(mysqli_connect_error, arginfo_mysqli_connect_error)
834 	ZEND_FE(mysqli_data_seek, arginfo_mysqli_data_seek)
835 	ZEND_FE(mysqli_dump_debug_info, arginfo_mysqli_dump_debug_info)
836 	ZEND_FE(mysqli_debug, arginfo_mysqli_debug)
837 	ZEND_FE(mysqli_errno, arginfo_mysqli_errno)
838 	ZEND_FE(mysqli_error, arginfo_mysqli_error)
839 	ZEND_FE(mysqli_error_list, arginfo_mysqli_error_list)
840 	ZEND_FE(mysqli_stmt_execute, arginfo_mysqli_stmt_execute)
841 	ZEND_FALIAS(mysqli_execute, mysqli_stmt_execute, arginfo_mysqli_execute)
842 	ZEND_FE(mysqli_execute_query, arginfo_mysqli_execute_query)
843 	ZEND_FE(mysqli_fetch_field, arginfo_mysqli_fetch_field)
844 	ZEND_FE(mysqli_fetch_fields, arginfo_mysqli_fetch_fields)
845 	ZEND_FE(mysqli_fetch_field_direct, arginfo_mysqli_fetch_field_direct)
846 	ZEND_FE(mysqli_fetch_lengths, arginfo_mysqli_fetch_lengths)
847 	ZEND_FE(mysqli_fetch_all, arginfo_mysqli_fetch_all)
848 	ZEND_FE(mysqli_fetch_array, arginfo_mysqli_fetch_array)
849 	ZEND_FE(mysqli_fetch_assoc, arginfo_mysqli_fetch_assoc)
850 	ZEND_FE(mysqli_fetch_object, arginfo_mysqli_fetch_object)
851 	ZEND_FE(mysqli_fetch_row, arginfo_mysqli_fetch_row)
852 	ZEND_FE(mysqli_fetch_column, arginfo_mysqli_fetch_column)
853 	ZEND_FE(mysqli_field_count, arginfo_mysqli_field_count)
854 	ZEND_FE(mysqli_field_seek, arginfo_mysqli_field_seek)
855 	ZEND_FE(mysqli_field_tell, arginfo_mysqli_field_tell)
856 	ZEND_FE(mysqli_free_result, arginfo_mysqli_free_result)
857 	ZEND_FE(mysqli_get_connection_stats, arginfo_mysqli_get_connection_stats)
858 	ZEND_FE(mysqli_get_client_stats, arginfo_mysqli_get_client_stats)
859 	ZEND_FE(mysqli_get_charset, arginfo_mysqli_get_charset)
860 	ZEND_FE(mysqli_get_client_info, arginfo_mysqli_get_client_info)
861 	ZEND_FE(mysqli_get_client_version, arginfo_mysqli_get_client_version)
862 	ZEND_FE(mysqli_get_links_stats, arginfo_mysqli_get_links_stats)
863 	ZEND_FE(mysqli_get_host_info, arginfo_mysqli_get_host_info)
864 	ZEND_FE(mysqli_get_proto_info, arginfo_mysqli_get_proto_info)
865 	ZEND_FE(mysqli_get_server_info, arginfo_mysqli_get_server_info)
866 	ZEND_FE(mysqli_get_server_version, arginfo_mysqli_get_server_version)
867 	ZEND_FE(mysqli_get_warnings, arginfo_mysqli_get_warnings)
868 	ZEND_FE(mysqli_init, arginfo_mysqli_init)
869 	ZEND_FE(mysqli_info, arginfo_mysqli_info)
870 	ZEND_FE(mysqli_insert_id, arginfo_mysqli_insert_id)
871 	ZEND_FE(mysqli_kill, arginfo_mysqli_kill)
872 	ZEND_FE(mysqli_more_results, arginfo_mysqli_more_results)
873 	ZEND_FE(mysqli_multi_query, arginfo_mysqli_multi_query)
874 	ZEND_FE(mysqli_next_result, arginfo_mysqli_next_result)
875 	ZEND_FE(mysqli_num_fields, arginfo_mysqli_num_fields)
876 	ZEND_FE(mysqli_num_rows, arginfo_mysqli_num_rows)
877 	ZEND_FE(mysqli_options, arginfo_mysqli_options)
878 	ZEND_FALIAS(mysqli_set_opt, mysqli_options, arginfo_mysqli_set_opt)
879 	ZEND_FE(mysqli_ping, arginfo_mysqli_ping)
880 	ZEND_FE(mysqli_poll, arginfo_mysqli_poll)
881 	ZEND_FE(mysqli_prepare, arginfo_mysqli_prepare)
882 	ZEND_FE(mysqli_report, arginfo_mysqli_report)
883 	ZEND_FE(mysqli_query, arginfo_mysqli_query)
884 	ZEND_FE(mysqli_real_connect, arginfo_mysqli_real_connect)
885 	ZEND_FE(mysqli_real_escape_string, arginfo_mysqli_real_escape_string)
886 	ZEND_FALIAS(mysqli_escape_string, mysqli_real_escape_string, arginfo_mysqli_escape_string)
887 	ZEND_FE(mysqli_real_query, arginfo_mysqli_real_query)
888 	ZEND_FE(mysqli_reap_async_query, arginfo_mysqli_reap_async_query)
889 	ZEND_FE(mysqli_release_savepoint, arginfo_mysqli_release_savepoint)
890 	ZEND_FE(mysqli_rollback, arginfo_mysqli_rollback)
891 	ZEND_FE(mysqli_savepoint, arginfo_mysqli_savepoint)
892 	ZEND_FE(mysqli_select_db, arginfo_mysqli_select_db)
893 	ZEND_FE(mysqli_set_charset, arginfo_mysqli_set_charset)
894 	ZEND_FE(mysqli_stmt_affected_rows, arginfo_mysqli_stmt_affected_rows)
895 	ZEND_FE(mysqli_stmt_attr_get, arginfo_mysqli_stmt_attr_get)
896 	ZEND_FE(mysqli_stmt_attr_set, arginfo_mysqli_stmt_attr_set)
897 	ZEND_FE(mysqli_stmt_bind_param, arginfo_mysqli_stmt_bind_param)
898 	ZEND_FE(mysqli_stmt_bind_result, arginfo_mysqli_stmt_bind_result)
899 	ZEND_FE(mysqli_stmt_close, arginfo_mysqli_stmt_close)
900 	ZEND_FE(mysqli_stmt_data_seek, arginfo_mysqli_stmt_data_seek)
901 	ZEND_FE(mysqli_stmt_errno, arginfo_mysqli_stmt_errno)
902 	ZEND_FE(mysqli_stmt_error, arginfo_mysqli_stmt_error)
903 	ZEND_FE(mysqli_stmt_error_list, arginfo_mysqli_stmt_error_list)
904 	ZEND_FE(mysqli_stmt_fetch, arginfo_mysqli_stmt_fetch)
905 	ZEND_FE(mysqli_stmt_field_count, arginfo_mysqli_stmt_field_count)
906 	ZEND_FE(mysqli_stmt_free_result, arginfo_mysqli_stmt_free_result)
907 	ZEND_FE(mysqli_stmt_get_result, arginfo_mysqli_stmt_get_result)
908 	ZEND_FE(mysqli_stmt_get_warnings, arginfo_mysqli_stmt_get_warnings)
909 	ZEND_FE(mysqli_stmt_init, arginfo_mysqli_stmt_init)
910 	ZEND_FE(mysqli_stmt_insert_id, arginfo_mysqli_stmt_insert_id)
911 	ZEND_FE(mysqli_stmt_more_results, arginfo_mysqli_stmt_more_results)
912 	ZEND_FE(mysqli_stmt_next_result, arginfo_mysqli_stmt_next_result)
913 	ZEND_FE(mysqli_stmt_num_rows, arginfo_mysqli_stmt_num_rows)
914 	ZEND_FE(mysqli_stmt_param_count, arginfo_mysqli_stmt_param_count)
915 	ZEND_FE(mysqli_stmt_prepare, arginfo_mysqli_stmt_prepare)
916 	ZEND_FE(mysqli_stmt_reset, arginfo_mysqli_stmt_reset)
917 	ZEND_FE(mysqli_stmt_result_metadata, arginfo_mysqli_stmt_result_metadata)
918 	ZEND_FE(mysqli_stmt_send_long_data, arginfo_mysqli_stmt_send_long_data)
919 	ZEND_FE(mysqli_stmt_store_result, arginfo_mysqli_stmt_store_result)
920 	ZEND_FE(mysqli_stmt_sqlstate, arginfo_mysqli_stmt_sqlstate)
921 	ZEND_FE(mysqli_sqlstate, arginfo_mysqli_sqlstate)
922 	ZEND_FE(mysqli_ssl_set, arginfo_mysqli_ssl_set)
923 	ZEND_FE(mysqli_stat, arginfo_mysqli_stat)
924 	ZEND_FE(mysqli_store_result, arginfo_mysqli_store_result)
925 	ZEND_FE(mysqli_thread_id, arginfo_mysqli_thread_id)
926 	ZEND_FE(mysqli_thread_safe, arginfo_mysqli_thread_safe)
927 	ZEND_FE(mysqli_use_result, arginfo_mysqli_use_result)
928 	ZEND_FE(mysqli_warning_count, arginfo_mysqli_warning_count)
929 	ZEND_FE(mysqli_refresh, arginfo_mysqli_refresh)
930 	ZEND_FE_END
931 };
932 
933 
934 static const zend_function_entry class_mysqli_driver_methods[] = {
935 	ZEND_FE_END
936 };
937 
938 
939 static const zend_function_entry class_mysqli_methods[] = {
940 	ZEND_ME(mysqli, __construct, arginfo_class_mysqli___construct, ZEND_ACC_PUBLIC)
941 	ZEND_ME_MAPPING(autocommit, mysqli_autocommit, arginfo_class_mysqli_autocommit, ZEND_ACC_PUBLIC)
942 	ZEND_ME_MAPPING(begin_transaction, mysqli_begin_transaction, arginfo_class_mysqli_begin_transaction, ZEND_ACC_PUBLIC)
943 	ZEND_ME_MAPPING(change_user, mysqli_change_user, arginfo_class_mysqli_change_user, ZEND_ACC_PUBLIC)
944 	ZEND_ME_MAPPING(character_set_name, mysqli_character_set_name, arginfo_class_mysqli_character_set_name, ZEND_ACC_PUBLIC)
945 	ZEND_ME_MAPPING(close, mysqli_close, arginfo_class_mysqli_close, ZEND_ACC_PUBLIC)
946 	ZEND_ME_MAPPING(commit, mysqli_commit, arginfo_class_mysqli_commit, ZEND_ACC_PUBLIC)
947 	ZEND_ME_MAPPING(connect, mysqli_connect, arginfo_class_mysqli_connect, ZEND_ACC_PUBLIC)
948 	ZEND_ME_MAPPING(dump_debug_info, mysqli_dump_debug_info, arginfo_class_mysqli_dump_debug_info, ZEND_ACC_PUBLIC)
949 	ZEND_ME_MAPPING(debug, mysqli_debug, arginfo_class_mysqli_debug, ZEND_ACC_PUBLIC)
950 	ZEND_ME_MAPPING(get_charset, mysqli_get_charset, arginfo_class_mysqli_get_charset, ZEND_ACC_PUBLIC)
951 	ZEND_ME_MAPPING(execute_query, mysqli_execute_query, arginfo_class_mysqli_execute_query, ZEND_ACC_PUBLIC)
952 	ZEND_ME_MAPPING(get_client_info, mysqli_get_client_info, arginfo_class_mysqli_get_client_info, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED)
953 	ZEND_ME_MAPPING(get_connection_stats, mysqli_get_connection_stats, arginfo_class_mysqli_get_connection_stats, ZEND_ACC_PUBLIC)
954 	ZEND_ME_MAPPING(get_server_info, mysqli_get_server_info, arginfo_class_mysqli_get_server_info, ZEND_ACC_PUBLIC)
955 	ZEND_ME_MAPPING(get_warnings, mysqli_get_warnings, arginfo_class_mysqli_get_warnings, ZEND_ACC_PUBLIC)
956 	ZEND_ME(mysqli, init, arginfo_class_mysqli_init, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED)
957 	ZEND_ME_MAPPING(kill, mysqli_kill, arginfo_class_mysqli_kill, ZEND_ACC_PUBLIC)
958 	ZEND_ME_MAPPING(multi_query, mysqli_multi_query, arginfo_class_mysqli_multi_query, ZEND_ACC_PUBLIC)
959 	ZEND_ME_MAPPING(more_results, mysqli_more_results, arginfo_class_mysqli_more_results, ZEND_ACC_PUBLIC)
960 	ZEND_ME_MAPPING(next_result, mysqli_next_result, arginfo_class_mysqli_next_result, ZEND_ACC_PUBLIC)
961 	ZEND_ME_MAPPING(ping, mysqli_ping, arginfo_class_mysqli_ping, ZEND_ACC_PUBLIC)
962 	ZEND_ME_MAPPING(poll, mysqli_poll, arginfo_class_mysqli_poll, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC)
963 	ZEND_ME_MAPPING(prepare, mysqli_prepare, arginfo_class_mysqli_prepare, ZEND_ACC_PUBLIC)
964 	ZEND_ME_MAPPING(query, mysqli_query, arginfo_class_mysqli_query, ZEND_ACC_PUBLIC)
965 	ZEND_ME_MAPPING(real_connect, mysqli_real_connect, arginfo_class_mysqli_real_connect, ZEND_ACC_PUBLIC)
966 	ZEND_ME_MAPPING(real_escape_string, mysqli_real_escape_string, arginfo_class_mysqli_real_escape_string, ZEND_ACC_PUBLIC)
967 	ZEND_ME_MAPPING(reap_async_query, mysqli_reap_async_query, arginfo_class_mysqli_reap_async_query, ZEND_ACC_PUBLIC)
968 	ZEND_ME_MAPPING(escape_string, mysqli_real_escape_string, arginfo_class_mysqli_escape_string, ZEND_ACC_PUBLIC)
969 	ZEND_ME_MAPPING(real_query, mysqli_real_query, arginfo_class_mysqli_real_query, ZEND_ACC_PUBLIC)
970 	ZEND_ME_MAPPING(release_savepoint, mysqli_release_savepoint, arginfo_class_mysqli_release_savepoint, ZEND_ACC_PUBLIC)
971 	ZEND_ME_MAPPING(rollback, mysqli_rollback, arginfo_class_mysqli_rollback, ZEND_ACC_PUBLIC)
972 	ZEND_ME_MAPPING(savepoint, mysqli_savepoint, arginfo_class_mysqli_savepoint, ZEND_ACC_PUBLIC)
973 	ZEND_ME_MAPPING(select_db, mysqli_select_db, arginfo_class_mysqli_select_db, ZEND_ACC_PUBLIC)
974 	ZEND_ME_MAPPING(set_charset, mysqli_set_charset, arginfo_class_mysqli_set_charset, ZEND_ACC_PUBLIC)
975 	ZEND_ME_MAPPING(options, mysqli_options, arginfo_class_mysqli_options, ZEND_ACC_PUBLIC)
976 	ZEND_ME_MAPPING(set_opt, mysqli_options, arginfo_class_mysqli_set_opt, ZEND_ACC_PUBLIC)
977 	ZEND_ME_MAPPING(ssl_set, mysqli_ssl_set, arginfo_class_mysqli_ssl_set, ZEND_ACC_PUBLIC)
978 	ZEND_ME_MAPPING(stat, mysqli_stat, arginfo_class_mysqli_stat, ZEND_ACC_PUBLIC)
979 	ZEND_ME_MAPPING(stmt_init, mysqli_stmt_init, arginfo_class_mysqli_stmt_init, ZEND_ACC_PUBLIC)
980 	ZEND_ME_MAPPING(store_result, mysqli_store_result, arginfo_class_mysqli_store_result, ZEND_ACC_PUBLIC)
981 	ZEND_ME_MAPPING(thread_safe, mysqli_thread_safe, arginfo_class_mysqli_thread_safe, ZEND_ACC_PUBLIC)
982 	ZEND_ME_MAPPING(use_result, mysqli_use_result, arginfo_class_mysqli_use_result, ZEND_ACC_PUBLIC)
983 	ZEND_ME_MAPPING(refresh, mysqli_refresh, arginfo_class_mysqli_refresh, ZEND_ACC_PUBLIC)
984 	ZEND_FE_END
985 };
986 
987 
988 static const zend_function_entry class_mysqli_result_methods[] = {
989 	ZEND_ME(mysqli_result, __construct, arginfo_class_mysqli_result___construct, ZEND_ACC_PUBLIC)
990 	ZEND_ME_MAPPING(close, mysqli_free_result, arginfo_class_mysqli_result_close, ZEND_ACC_PUBLIC)
991 	ZEND_ME_MAPPING(free, mysqli_free_result, arginfo_class_mysqli_result_free, ZEND_ACC_PUBLIC)
992 	ZEND_ME_MAPPING(data_seek, mysqli_data_seek, arginfo_class_mysqli_result_data_seek, ZEND_ACC_PUBLIC)
993 	ZEND_ME_MAPPING(fetch_field, mysqli_fetch_field, arginfo_class_mysqli_result_fetch_field, ZEND_ACC_PUBLIC)
994 	ZEND_ME_MAPPING(fetch_fields, mysqli_fetch_fields, arginfo_class_mysqli_result_fetch_fields, ZEND_ACC_PUBLIC)
995 	ZEND_ME_MAPPING(fetch_field_direct, mysqli_fetch_field_direct, arginfo_class_mysqli_result_fetch_field_direct, ZEND_ACC_PUBLIC)
996 	ZEND_ME_MAPPING(fetch_all, mysqli_fetch_all, arginfo_class_mysqli_result_fetch_all, ZEND_ACC_PUBLIC)
997 	ZEND_ME_MAPPING(fetch_array, mysqli_fetch_array, arginfo_class_mysqli_result_fetch_array, ZEND_ACC_PUBLIC)
998 	ZEND_ME_MAPPING(fetch_assoc, mysqli_fetch_assoc, arginfo_class_mysqli_result_fetch_assoc, ZEND_ACC_PUBLIC)
999 	ZEND_ME_MAPPING(fetch_object, mysqli_fetch_object, arginfo_class_mysqli_result_fetch_object, ZEND_ACC_PUBLIC)
1000 	ZEND_ME_MAPPING(fetch_row, mysqli_fetch_row, arginfo_class_mysqli_result_fetch_row, ZEND_ACC_PUBLIC)
1001 	ZEND_ME_MAPPING(fetch_column, mysqli_fetch_column, arginfo_class_mysqli_result_fetch_column, ZEND_ACC_PUBLIC)
1002 	ZEND_ME_MAPPING(field_seek, mysqli_field_seek, arginfo_class_mysqli_result_field_seek, ZEND_ACC_PUBLIC)
1003 	ZEND_ME_MAPPING(free_result, mysqli_free_result, arginfo_class_mysqli_result_free_result, ZEND_ACC_PUBLIC)
1004 	ZEND_ME(mysqli_result, getIterator, arginfo_class_mysqli_result_getIterator, ZEND_ACC_PUBLIC)
1005 	ZEND_FE_END
1006 };
1007 
1008 
1009 static const zend_function_entry class_mysqli_stmt_methods[] = {
1010 	ZEND_ME(mysqli_stmt, __construct, arginfo_class_mysqli_stmt___construct, ZEND_ACC_PUBLIC)
1011 	ZEND_ME_MAPPING(attr_get, mysqli_stmt_attr_get, arginfo_class_mysqli_stmt_attr_get, ZEND_ACC_PUBLIC)
1012 	ZEND_ME_MAPPING(attr_set, mysqli_stmt_attr_set, arginfo_class_mysqli_stmt_attr_set, ZEND_ACC_PUBLIC)
1013 	ZEND_ME_MAPPING(bind_param, mysqli_stmt_bind_param, arginfo_class_mysqli_stmt_bind_param, ZEND_ACC_PUBLIC)
1014 	ZEND_ME_MAPPING(bind_result, mysqli_stmt_bind_result, arginfo_class_mysqli_stmt_bind_result, ZEND_ACC_PUBLIC)
1015 	ZEND_ME_MAPPING(close, mysqli_stmt_close, arginfo_class_mysqli_stmt_close, ZEND_ACC_PUBLIC)
1016 	ZEND_ME_MAPPING(data_seek, mysqli_stmt_data_seek, arginfo_class_mysqli_stmt_data_seek, ZEND_ACC_PUBLIC)
1017 	ZEND_ME_MAPPING(execute, mysqli_stmt_execute, arginfo_class_mysqli_stmt_execute, ZEND_ACC_PUBLIC)
1018 	ZEND_ME_MAPPING(fetch, mysqli_stmt_fetch, arginfo_class_mysqli_stmt_fetch, ZEND_ACC_PUBLIC)
1019 	ZEND_ME_MAPPING(get_warnings, mysqli_stmt_get_warnings, arginfo_class_mysqli_stmt_get_warnings, ZEND_ACC_PUBLIC)
1020 	ZEND_ME_MAPPING(result_metadata, mysqli_stmt_result_metadata, arginfo_class_mysqli_stmt_result_metadata, ZEND_ACC_PUBLIC)
1021 	ZEND_ME_MAPPING(more_results, mysqli_stmt_more_results, arginfo_class_mysqli_stmt_more_results, ZEND_ACC_PUBLIC)
1022 	ZEND_ME_MAPPING(next_result, mysqli_stmt_next_result, arginfo_class_mysqli_stmt_next_result, ZEND_ACC_PUBLIC)
1023 	ZEND_ME_MAPPING(num_rows, mysqli_stmt_num_rows, arginfo_class_mysqli_stmt_num_rows, ZEND_ACC_PUBLIC)
1024 	ZEND_ME_MAPPING(send_long_data, mysqli_stmt_send_long_data, arginfo_class_mysqli_stmt_send_long_data, ZEND_ACC_PUBLIC)
1025 	ZEND_ME_MAPPING(free_result, mysqli_stmt_free_result, arginfo_class_mysqli_stmt_free_result, ZEND_ACC_PUBLIC)
1026 	ZEND_ME_MAPPING(reset, mysqli_stmt_reset, arginfo_class_mysqli_stmt_reset, ZEND_ACC_PUBLIC)
1027 	ZEND_ME_MAPPING(prepare, mysqli_stmt_prepare, arginfo_class_mysqli_stmt_prepare, ZEND_ACC_PUBLIC)
1028 	ZEND_ME_MAPPING(store_result, mysqli_stmt_store_result, arginfo_class_mysqli_stmt_store_result, ZEND_ACC_PUBLIC)
1029 	ZEND_ME_MAPPING(get_result, mysqli_stmt_get_result, arginfo_class_mysqli_stmt_get_result, ZEND_ACC_PUBLIC)
1030 	ZEND_FE_END
1031 };
1032 
1033 
1034 static const zend_function_entry class_mysqli_warning_methods[] = {
1035 	ZEND_ME(mysqli_warning, __construct, arginfo_class_mysqli_warning___construct, ZEND_ACC_PRIVATE)
1036 	ZEND_ME(mysqli_warning, next, arginfo_class_mysqli_warning_next, ZEND_ACC_PUBLIC)
1037 	ZEND_FE_END
1038 };
1039 
1040 
1041 static const zend_function_entry class_mysqli_sql_exception_methods[] = {
1042 	ZEND_ME(mysqli_sql_exception, getSqlState, arginfo_class_mysqli_sql_exception_getSqlState, ZEND_ACC_PUBLIC)
1043 	ZEND_FE_END
1044 };
1045 
register_mysqli_symbols(int module_number)1046 static void register_mysqli_symbols(int module_number)
1047 {
1048 	REGISTER_LONG_CONSTANT("MYSQLI_READ_DEFAULT_GROUP", MYSQL_READ_DEFAULT_GROUP, CONST_PERSISTENT);
1049 	REGISTER_LONG_CONSTANT("MYSQLI_READ_DEFAULT_FILE", MYSQL_READ_DEFAULT_FILE, CONST_PERSISTENT);
1050 	REGISTER_LONG_CONSTANT("MYSQLI_OPT_CONNECT_TIMEOUT", MYSQL_OPT_CONNECT_TIMEOUT, CONST_PERSISTENT);
1051 	REGISTER_LONG_CONSTANT("MYSQLI_OPT_LOCAL_INFILE", MYSQL_OPT_LOCAL_INFILE, CONST_PERSISTENT);
1052 	REGISTER_LONG_CONSTANT("MYSQLI_OPT_LOAD_DATA_LOCAL_DIR", MYSQL_OPT_LOAD_DATA_LOCAL_DIR, CONST_PERSISTENT);
1053 	REGISTER_LONG_CONSTANT("MYSQLI_INIT_COMMAND", MYSQL_INIT_COMMAND, CONST_PERSISTENT);
1054 	REGISTER_LONG_CONSTANT("MYSQLI_OPT_READ_TIMEOUT", MYSQL_OPT_READ_TIMEOUT, CONST_PERSISTENT);
1055 	REGISTER_LONG_CONSTANT("MYSQLI_OPT_NET_CMD_BUFFER_SIZE", MYSQLND_OPT_NET_CMD_BUFFER_SIZE, CONST_PERSISTENT);
1056 	REGISTER_LONG_CONSTANT("MYSQLI_OPT_NET_READ_BUFFER_SIZE", MYSQLND_OPT_NET_READ_BUFFER_SIZE, CONST_PERSISTENT);
1057 	REGISTER_LONG_CONSTANT("MYSQLI_OPT_INT_AND_FLOAT_NATIVE", MYSQLND_OPT_INT_AND_FLOAT_NATIVE, CONST_PERSISTENT);
1058 	REGISTER_LONG_CONSTANT("MYSQLI_OPT_SSL_VERIFY_SERVER_CERT", MYSQL_OPT_SSL_VERIFY_SERVER_CERT, CONST_PERSISTENT);
1059 	REGISTER_LONG_CONSTANT("MYSQLI_SERVER_PUBLIC_KEY", MYSQL_SERVER_PUBLIC_KEY, CONST_PERSISTENT);
1060 	REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_SSL", CLIENT_SSL, CONST_PERSISTENT);
1061 	REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_COMPRESS", CLIENT_COMPRESS, CONST_PERSISTENT);
1062 	REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_INTERACTIVE", CLIENT_INTERACTIVE, CONST_PERSISTENT);
1063 	REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_IGNORE_SPACE", CLIENT_IGNORE_SPACE, CONST_PERSISTENT);
1064 	REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_NO_SCHEMA", CLIENT_NO_SCHEMA, CONST_PERSISTENT);
1065 	REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_FOUND_ROWS", CLIENT_FOUND_ROWS, CONST_PERSISTENT);
1066 #if defined(CLIENT_SSL_VERIFY_SERVER_CERT)
1067 	REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_SSL_VERIFY_SERVER_CERT", CLIENT_SSL_VERIFY_SERVER_CERT, CONST_PERSISTENT);
1068 #endif
1069 #if defined(CLIENT_SSL_VERIFY_SERVER_CERT)
1070 	REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT", CLIENT_SSL_DONT_VERIFY_SERVER_CERT, CONST_PERSISTENT);
1071 #endif
1072 	REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS", CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS, CONST_PERSISTENT);
1073 	REGISTER_LONG_CONSTANT("MYSQLI_OPT_CAN_HANDLE_EXPIRED_PASSWORDS", MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS, CONST_PERSISTENT);
1074 	REGISTER_LONG_CONSTANT("MYSQLI_STORE_RESULT", MYSQLI_STORE_RESULT, CONST_PERSISTENT);
1075 	REGISTER_LONG_CONSTANT("MYSQLI_USE_RESULT", MYSQLI_USE_RESULT, CONST_PERSISTENT);
1076 	REGISTER_LONG_CONSTANT("MYSQLI_ASYNC", MYSQLI_ASYNC, CONST_PERSISTENT);
1077 	REGISTER_LONG_CONSTANT("MYSQLI_STORE_RESULT_COPY_DATA", MYSQLI_STORE_RESULT_COPY_DATA, CONST_PERSISTENT);
1078 	REGISTER_LONG_CONSTANT("MYSQLI_ASSOC", MYSQLI_ASSOC, CONST_PERSISTENT);
1079 	REGISTER_LONG_CONSTANT("MYSQLI_NUM", MYSQLI_NUM, CONST_PERSISTENT);
1080 	REGISTER_LONG_CONSTANT("MYSQLI_BOTH", MYSQLI_BOTH, CONST_PERSISTENT);
1081 	REGISTER_LONG_CONSTANT("MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH", STMT_ATTR_UPDATE_MAX_LENGTH, CONST_PERSISTENT);
1082 	REGISTER_LONG_CONSTANT("MYSQLI_STMT_ATTR_CURSOR_TYPE", STMT_ATTR_CURSOR_TYPE, CONST_PERSISTENT);
1083 	REGISTER_LONG_CONSTANT("MYSQLI_CURSOR_TYPE_NO_CURSOR", CURSOR_TYPE_NO_CURSOR, CONST_PERSISTENT);
1084 	REGISTER_LONG_CONSTANT("MYSQLI_CURSOR_TYPE_READ_ONLY", CURSOR_TYPE_READ_ONLY, CONST_PERSISTENT);
1085 	REGISTER_LONG_CONSTANT("MYSQLI_CURSOR_TYPE_FOR_UPDATE", CURSOR_TYPE_FOR_UPDATE, CONST_PERSISTENT);
1086 	REGISTER_LONG_CONSTANT("MYSQLI_CURSOR_TYPE_SCROLLABLE", CURSOR_TYPE_SCROLLABLE, CONST_PERSISTENT);
1087 	REGISTER_LONG_CONSTANT("MYSQLI_STMT_ATTR_PREFETCH_ROWS", STMT_ATTR_PREFETCH_ROWS, CONST_PERSISTENT);
1088 	REGISTER_LONG_CONSTANT("MYSQLI_NOT_NULL_FLAG", NOT_NULL_FLAG, CONST_PERSISTENT);
1089 	REGISTER_LONG_CONSTANT("MYSQLI_PRI_KEY_FLAG", PRI_KEY_FLAG, CONST_PERSISTENT);
1090 	REGISTER_LONG_CONSTANT("MYSQLI_UNIQUE_KEY_FLAG", UNIQUE_KEY_FLAG, CONST_PERSISTENT);
1091 	REGISTER_LONG_CONSTANT("MYSQLI_MULTIPLE_KEY_FLAG", MULTIPLE_KEY_FLAG, CONST_PERSISTENT);
1092 	REGISTER_LONG_CONSTANT("MYSQLI_BLOB_FLAG", BLOB_FLAG, CONST_PERSISTENT);
1093 	REGISTER_LONG_CONSTANT("MYSQLI_UNSIGNED_FLAG", UNSIGNED_FLAG, CONST_PERSISTENT);
1094 	REGISTER_LONG_CONSTANT("MYSQLI_ZEROFILL_FLAG", ZEROFILL_FLAG, CONST_PERSISTENT);
1095 	REGISTER_LONG_CONSTANT("MYSQLI_AUTO_INCREMENT_FLAG", AUTO_INCREMENT_FLAG, CONST_PERSISTENT);
1096 	REGISTER_LONG_CONSTANT("MYSQLI_TIMESTAMP_FLAG", TIMESTAMP_FLAG, CONST_PERSISTENT);
1097 	REGISTER_LONG_CONSTANT("MYSQLI_SET_FLAG", SET_FLAG, CONST_PERSISTENT);
1098 	REGISTER_LONG_CONSTANT("MYSQLI_NUM_FLAG", NUM_FLAG, CONST_PERSISTENT);
1099 	REGISTER_LONG_CONSTANT("MYSQLI_PART_KEY_FLAG", PART_KEY_FLAG, CONST_PERSISTENT);
1100 	REGISTER_LONG_CONSTANT("MYSQLI_GROUP_FLAG", GROUP_FLAG, CONST_PERSISTENT);
1101 	REGISTER_LONG_CONSTANT("MYSQLI_ENUM_FLAG", ENUM_FLAG, CONST_PERSISTENT);
1102 	REGISTER_LONG_CONSTANT("MYSQLI_BINARY_FLAG", BINARY_FLAG, CONST_PERSISTENT);
1103 	REGISTER_LONG_CONSTANT("MYSQLI_NO_DEFAULT_VALUE_FLAG", NO_DEFAULT_VALUE_FLAG, CONST_PERSISTENT);
1104 	REGISTER_LONG_CONSTANT("MYSQLI_ON_UPDATE_NOW_FLAG", ON_UPDATE_NOW_FLAG, CONST_PERSISTENT);
1105 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_DECIMAL", FIELD_TYPE_DECIMAL, CONST_PERSISTENT);
1106 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_TINY", FIELD_TYPE_TINY, CONST_PERSISTENT);
1107 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_SHORT", FIELD_TYPE_SHORT, CONST_PERSISTENT);
1108 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_LONG", FIELD_TYPE_LONG, CONST_PERSISTENT);
1109 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_FLOAT", FIELD_TYPE_FLOAT, CONST_PERSISTENT);
1110 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_DOUBLE", FIELD_TYPE_DOUBLE, CONST_PERSISTENT);
1111 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_NULL", FIELD_TYPE_NULL, CONST_PERSISTENT);
1112 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_TIMESTAMP", FIELD_TYPE_TIMESTAMP, CONST_PERSISTENT);
1113 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_LONGLONG", FIELD_TYPE_LONGLONG, CONST_PERSISTENT);
1114 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_INT24", FIELD_TYPE_INT24, CONST_PERSISTENT);
1115 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_DATE", FIELD_TYPE_DATE, CONST_PERSISTENT);
1116 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_TIME", FIELD_TYPE_TIME, CONST_PERSISTENT);
1117 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_DATETIME", FIELD_TYPE_DATETIME, CONST_PERSISTENT);
1118 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_YEAR", FIELD_TYPE_YEAR, CONST_PERSISTENT);
1119 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_NEWDATE", FIELD_TYPE_NEWDATE, CONST_PERSISTENT);
1120 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_ENUM", FIELD_TYPE_ENUM, CONST_PERSISTENT);
1121 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_SET", FIELD_TYPE_SET, CONST_PERSISTENT);
1122 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_TINY_BLOB", FIELD_TYPE_TINY_BLOB, CONST_PERSISTENT);
1123 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_MEDIUM_BLOB", FIELD_TYPE_MEDIUM_BLOB, CONST_PERSISTENT);
1124 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_LONG_BLOB", FIELD_TYPE_LONG_BLOB, CONST_PERSISTENT);
1125 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_BLOB", FIELD_TYPE_BLOB, CONST_PERSISTENT);
1126 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_VAR_STRING", FIELD_TYPE_VAR_STRING, CONST_PERSISTENT);
1127 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_STRING", FIELD_TYPE_STRING, CONST_PERSISTENT);
1128 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_CHAR", FIELD_TYPE_CHAR, CONST_PERSISTENT);
1129 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_INTERVAL", FIELD_TYPE_INTERVAL, CONST_PERSISTENT);
1130 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_GEOMETRY", FIELD_TYPE_GEOMETRY, CONST_PERSISTENT);
1131 #if defined(FIELD_TYPE_JSON)
1132 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_JSON", FIELD_TYPE_JSON, CONST_PERSISTENT);
1133 #endif
1134 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_NEWDECIMAL", FIELD_TYPE_NEWDECIMAL, CONST_PERSISTENT);
1135 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_BIT", FIELD_TYPE_BIT, CONST_PERSISTENT);
1136 	REGISTER_LONG_CONSTANT("MYSQLI_SET_CHARSET_NAME", MYSQL_SET_CHARSET_NAME, CONST_PERSISTENT);
1137 	REGISTER_LONG_CONSTANT("MYSQLI_SET_CHARSET_DIR", MYSQL_SET_CHARSET_DIR, CONST_PERSISTENT);
1138 	REGISTER_LONG_CONSTANT("MYSQLI_NO_DATA", MYSQL_NO_DATA, CONST_PERSISTENT | CONST_DEPRECATED);
1139 #if defined(MYSQL_DATA_TRUNCATED)
1140 	REGISTER_LONG_CONSTANT("MYSQLI_DATA_TRUNCATED", MYSQL_DATA_TRUNCATED, CONST_PERSISTENT | CONST_DEPRECATED);
1141 #endif
1142 	REGISTER_LONG_CONSTANT("MYSQLI_REPORT_INDEX", MYSQLI_REPORT_INDEX, CONST_PERSISTENT);
1143 	REGISTER_LONG_CONSTANT("MYSQLI_REPORT_ERROR", MYSQLI_REPORT_ERROR, CONST_PERSISTENT);
1144 	REGISTER_LONG_CONSTANT("MYSQLI_REPORT_STRICT", MYSQLI_REPORT_STRICT, CONST_PERSISTENT);
1145 	REGISTER_LONG_CONSTANT("MYSQLI_REPORT_ALL", MYSQLI_REPORT_ALL, CONST_PERSISTENT);
1146 	REGISTER_LONG_CONSTANT("MYSQLI_REPORT_OFF", MYSQLI_REPORT_OFF, CONST_PERSISTENT);
1147 	REGISTER_LONG_CONSTANT("MYSQLI_DEBUG_TRACE_ENABLED", MYSQLND_DBG_ENABLED, CONST_PERSISTENT);
1148 	REGISTER_LONG_CONSTANT("MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED", SERVER_QUERY_NO_GOOD_INDEX_USED, CONST_PERSISTENT | CONST_DEPRECATED);
1149 	REGISTER_LONG_CONSTANT("MYSQLI_SERVER_QUERY_NO_INDEX_USED", SERVER_QUERY_NO_INDEX_USED, CONST_PERSISTENT | CONST_DEPRECATED);
1150 #if defined(SERVER_QUERY_WAS_SLOW)
1151 	REGISTER_LONG_CONSTANT("MYSQLI_SERVER_QUERY_WAS_SLOW", SERVER_QUERY_WAS_SLOW, CONST_PERSISTENT | CONST_DEPRECATED);
1152 #endif
1153 #if defined(SERVER_PS_OUT_PARAMS)
1154 	REGISTER_LONG_CONSTANT("MYSQLI_SERVER_PS_OUT_PARAMS", SERVER_PS_OUT_PARAMS, CONST_PERSISTENT | CONST_DEPRECATED);
1155 #endif
1156 	REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_GRANT", REFRESH_GRANT, CONST_PERSISTENT);
1157 	REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_LOG", REFRESH_LOG, CONST_PERSISTENT);
1158 	REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_TABLES", REFRESH_TABLES, CONST_PERSISTENT);
1159 	REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_HOSTS", REFRESH_HOSTS, CONST_PERSISTENT);
1160 	REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_STATUS", REFRESH_STATUS, CONST_PERSISTENT);
1161 	REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_THREADS", REFRESH_THREADS, CONST_PERSISTENT);
1162 	REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_REPLICA", REFRESH_SLAVE, CONST_PERSISTENT);
1163 	REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_SLAVE", REFRESH_SLAVE, CONST_PERSISTENT);
1164 	REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_MASTER", REFRESH_MASTER, CONST_PERSISTENT);
1165 #if defined(REFRESH_BACKUP_LOG)
1166 	REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_BACKUP_LOG", REFRESH_BACKUP_LOG, CONST_PERSISTENT);
1167 #endif
1168 	REGISTER_LONG_CONSTANT("MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT", TRANS_START_WITH_CONSISTENT_SNAPSHOT, CONST_PERSISTENT);
1169 	REGISTER_LONG_CONSTANT("MYSQLI_TRANS_START_READ_WRITE", TRANS_START_READ_WRITE, CONST_PERSISTENT);
1170 	REGISTER_LONG_CONSTANT("MYSQLI_TRANS_START_READ_ONLY", TRANS_START_READ_ONLY, CONST_PERSISTENT);
1171 	REGISTER_LONG_CONSTANT("MYSQLI_TRANS_COR_AND_CHAIN", TRANS_COR_AND_CHAIN, CONST_PERSISTENT);
1172 	REGISTER_LONG_CONSTANT("MYSQLI_TRANS_COR_AND_NO_CHAIN", TRANS_COR_AND_NO_CHAIN, CONST_PERSISTENT);
1173 	REGISTER_LONG_CONSTANT("MYSQLI_TRANS_COR_RELEASE", TRANS_COR_RELEASE, CONST_PERSISTENT);
1174 	REGISTER_LONG_CONSTANT("MYSQLI_TRANS_COR_NO_RELEASE", TRANS_COR_NO_RELEASE, CONST_PERSISTENT);
1175 	REGISTER_BOOL_CONSTANT("MYSQLI_IS_MARIADB", false, CONST_PERSISTENT | CONST_DEPRECATED);
1176 
1177 
1178 	zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "mysqli_change_user", sizeof("mysqli_change_user") - 1), 2, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
1179 
1180 	zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "mysqli_connect", sizeof("mysqli_connect") - 1), 2, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
1181 
1182 	zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "mysqli_real_connect", sizeof("mysqli_real_connect") - 1), 3, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
1183 }
1184 
register_class_mysqli_driver(void)1185 static zend_class_entry *register_class_mysqli_driver(void)
1186 {
1187 	zend_class_entry ce, *class_entry;
1188 
1189 	INIT_CLASS_ENTRY(ce, "mysqli_driver", class_mysqli_driver_methods);
1190 	class_entry = zend_register_internal_class_ex(&ce, NULL);
1191 	class_entry->ce_flags |= ZEND_ACC_FINAL;
1192 
1193 	zval property_client_info_default_value;
1194 	ZVAL_UNDEF(&property_client_info_default_value);
1195 	zend_string *property_client_info_name = zend_string_init("client_info", sizeof("client_info") - 1, 1);
1196 	zend_declare_typed_property(class_entry, property_client_info_name, &property_client_info_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
1197 	zend_string_release(property_client_info_name);
1198 
1199 	zval property_client_version_default_value;
1200 	ZVAL_UNDEF(&property_client_version_default_value);
1201 	zend_string *property_client_version_name = zend_string_init("client_version", sizeof("client_version") - 1, 1);
1202 	zend_declare_typed_property(class_entry, property_client_version_name, &property_client_version_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1203 	zend_string_release(property_client_version_name);
1204 
1205 	zval property_driver_version_default_value;
1206 	ZVAL_UNDEF(&property_driver_version_default_value);
1207 	zend_string *property_driver_version_name = zend_string_init("driver_version", sizeof("driver_version") - 1, 1);
1208 	zend_declare_typed_property(class_entry, property_driver_version_name, &property_driver_version_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1209 	zend_string_release(property_driver_version_name);
1210 
1211 	zval property_report_mode_default_value;
1212 	ZVAL_LONG(&property_report_mode_default_value, 0);
1213 	zend_string *property_report_mode_name = zend_string_init("report_mode", sizeof("report_mode") - 1, 1);
1214 	zend_declare_typed_property(class_entry, property_report_mode_name, &property_report_mode_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1215 	zend_string_release(property_report_mode_name);
1216 
1217 	return class_entry;
1218 }
1219 
register_class_mysqli(void)1220 static zend_class_entry *register_class_mysqli(void)
1221 {
1222 	zend_class_entry ce, *class_entry;
1223 
1224 	INIT_CLASS_ENTRY(ce, "mysqli", class_mysqli_methods);
1225 	class_entry = zend_register_internal_class_ex(&ce, NULL);
1226 
1227 	zval property_affected_rows_default_value;
1228 	ZVAL_UNDEF(&property_affected_rows_default_value);
1229 	zend_string *property_affected_rows_name = zend_string_init("affected_rows", sizeof("affected_rows") - 1, 1);
1230 	zend_declare_typed_property(class_entry, property_affected_rows_name, &property_affected_rows_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG|MAY_BE_STRING));
1231 	zend_string_release(property_affected_rows_name);
1232 
1233 	zval property_client_info_default_value;
1234 	ZVAL_UNDEF(&property_client_info_default_value);
1235 	zend_string *property_client_info_name = zend_string_init("client_info", sizeof("client_info") - 1, 1);
1236 	zend_declare_typed_property(class_entry, property_client_info_name, &property_client_info_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
1237 	zend_string_release(property_client_info_name);
1238 
1239 	zval property_client_version_default_value;
1240 	ZVAL_UNDEF(&property_client_version_default_value);
1241 	zend_string *property_client_version_name = zend_string_init("client_version", sizeof("client_version") - 1, 1);
1242 	zend_declare_typed_property(class_entry, property_client_version_name, &property_client_version_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1243 	zend_string_release(property_client_version_name);
1244 
1245 	zval property_connect_errno_default_value;
1246 	ZVAL_UNDEF(&property_connect_errno_default_value);
1247 	zend_string *property_connect_errno_name = zend_string_init("connect_errno", sizeof("connect_errno") - 1, 1);
1248 	zend_declare_typed_property(class_entry, property_connect_errno_name, &property_connect_errno_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1249 	zend_string_release(property_connect_errno_name);
1250 
1251 	zval property_connect_error_default_value;
1252 	ZVAL_UNDEF(&property_connect_error_default_value);
1253 	zend_string *property_connect_error_name = zend_string_init("connect_error", sizeof("connect_error") - 1, 1);
1254 	zend_declare_typed_property(class_entry, property_connect_error_name, &property_connect_error_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING|MAY_BE_NULL));
1255 	zend_string_release(property_connect_error_name);
1256 
1257 	zval property_errno_default_value;
1258 	ZVAL_UNDEF(&property_errno_default_value);
1259 	zend_string *property_errno_name = zend_string_init("errno", sizeof("errno") - 1, 1);
1260 	zend_declare_typed_property(class_entry, property_errno_name, &property_errno_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1261 	zend_string_release(property_errno_name);
1262 
1263 	zval property_error_default_value;
1264 	ZVAL_UNDEF(&property_error_default_value);
1265 	zend_string *property_error_name = zend_string_init("error", sizeof("error") - 1, 1);
1266 	zend_declare_typed_property(class_entry, property_error_name, &property_error_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
1267 	zend_string_release(property_error_name);
1268 
1269 	zval property_error_list_default_value;
1270 	ZVAL_UNDEF(&property_error_list_default_value);
1271 	zend_string *property_error_list_name = zend_string_init("error_list", sizeof("error_list") - 1, 1);
1272 	zend_declare_typed_property(class_entry, property_error_list_name, &property_error_list_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_ARRAY));
1273 	zend_string_release(property_error_list_name);
1274 
1275 	zval property_field_count_default_value;
1276 	ZVAL_UNDEF(&property_field_count_default_value);
1277 	zend_string *property_field_count_name = zend_string_init("field_count", sizeof("field_count") - 1, 1);
1278 	zend_declare_typed_property(class_entry, property_field_count_name, &property_field_count_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1279 	zend_string_release(property_field_count_name);
1280 
1281 	zval property_host_info_default_value;
1282 	ZVAL_UNDEF(&property_host_info_default_value);
1283 	zend_string *property_host_info_name = zend_string_init("host_info", sizeof("host_info") - 1, 1);
1284 	zend_declare_typed_property(class_entry, property_host_info_name, &property_host_info_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
1285 	zend_string_release(property_host_info_name);
1286 
1287 	zval property_info_default_value;
1288 	ZVAL_UNDEF(&property_info_default_value);
1289 	zend_string *property_info_name = zend_string_init("info", sizeof("info") - 1, 1);
1290 	zend_declare_typed_property(class_entry, property_info_name, &property_info_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING|MAY_BE_NULL));
1291 	zend_string_release(property_info_name);
1292 
1293 	zval property_insert_id_default_value;
1294 	ZVAL_UNDEF(&property_insert_id_default_value);
1295 	zend_string *property_insert_id_name = zend_string_init("insert_id", sizeof("insert_id") - 1, 1);
1296 	zend_declare_typed_property(class_entry, property_insert_id_name, &property_insert_id_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG|MAY_BE_STRING));
1297 	zend_string_release(property_insert_id_name);
1298 
1299 	zval property_server_info_default_value;
1300 	ZVAL_UNDEF(&property_server_info_default_value);
1301 	zend_string *property_server_info_name = zend_string_init("server_info", sizeof("server_info") - 1, 1);
1302 	zend_declare_typed_property(class_entry, property_server_info_name, &property_server_info_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
1303 	zend_string_release(property_server_info_name);
1304 
1305 	zval property_server_version_default_value;
1306 	ZVAL_UNDEF(&property_server_version_default_value);
1307 	zend_string *property_server_version_name = zend_string_init("server_version", sizeof("server_version") - 1, 1);
1308 	zend_declare_typed_property(class_entry, property_server_version_name, &property_server_version_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1309 	zend_string_release(property_server_version_name);
1310 
1311 	zval property_sqlstate_default_value;
1312 	ZVAL_UNDEF(&property_sqlstate_default_value);
1313 	zend_string *property_sqlstate_name = zend_string_init("sqlstate", sizeof("sqlstate") - 1, 1);
1314 	zend_declare_typed_property(class_entry, property_sqlstate_name, &property_sqlstate_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
1315 	zend_string_release(property_sqlstate_name);
1316 
1317 	zval property_protocol_version_default_value;
1318 	ZVAL_UNDEF(&property_protocol_version_default_value);
1319 	zend_string *property_protocol_version_name = zend_string_init("protocol_version", sizeof("protocol_version") - 1, 1);
1320 	zend_declare_typed_property(class_entry, property_protocol_version_name, &property_protocol_version_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1321 	zend_string_release(property_protocol_version_name);
1322 
1323 	zval property_thread_id_default_value;
1324 	ZVAL_UNDEF(&property_thread_id_default_value);
1325 	zend_string *property_thread_id_name = zend_string_init("thread_id", sizeof("thread_id") - 1, 1);
1326 	zend_declare_typed_property(class_entry, property_thread_id_name, &property_thread_id_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1327 	zend_string_release(property_thread_id_name);
1328 
1329 	zval property_warning_count_default_value;
1330 	ZVAL_UNDEF(&property_warning_count_default_value);
1331 	zend_string *property_warning_count_name = zend_string_init("warning_count", sizeof("warning_count") - 1, 1);
1332 	zend_declare_typed_property(class_entry, property_warning_count_name, &property_warning_count_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1333 	zend_string_release(property_warning_count_name);
1334 
1335 
1336 	zend_add_parameter_attribute(zend_hash_str_find_ptr(&class_entry->function_table, "__construct", sizeof("__construct") - 1), 2, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
1337 
1338 	zend_add_parameter_attribute(zend_hash_str_find_ptr(&class_entry->function_table, "change_user", sizeof("change_user") - 1), 1, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
1339 
1340 	zend_add_parameter_attribute(zend_hash_str_find_ptr(&class_entry->function_table, "connect", sizeof("connect") - 1), 2, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
1341 
1342 	zend_add_parameter_attribute(zend_hash_str_find_ptr(&class_entry->function_table, "real_connect", sizeof("real_connect") - 1), 2, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
1343 
1344 	return class_entry;
1345 }
1346 
register_class_mysqli_result(zend_class_entry * class_entry_IteratorAggregate)1347 static zend_class_entry *register_class_mysqli_result(zend_class_entry *class_entry_IteratorAggregate)
1348 {
1349 	zend_class_entry ce, *class_entry;
1350 
1351 	INIT_CLASS_ENTRY(ce, "mysqli_result", class_mysqli_result_methods);
1352 	class_entry = zend_register_internal_class_ex(&ce, NULL);
1353 	zend_class_implements(class_entry, 1, class_entry_IteratorAggregate);
1354 
1355 	zval property_current_field_default_value;
1356 	ZVAL_UNDEF(&property_current_field_default_value);
1357 	zend_string *property_current_field_name = zend_string_init("current_field", sizeof("current_field") - 1, 1);
1358 	zend_declare_typed_property(class_entry, property_current_field_name, &property_current_field_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1359 	zend_string_release(property_current_field_name);
1360 
1361 	zval property_field_count_default_value;
1362 	ZVAL_UNDEF(&property_field_count_default_value);
1363 	zend_string *property_field_count_name = zend_string_init("field_count", sizeof("field_count") - 1, 1);
1364 	zend_declare_typed_property(class_entry, property_field_count_name, &property_field_count_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1365 	zend_string_release(property_field_count_name);
1366 
1367 	zval property_lengths_default_value;
1368 	ZVAL_UNDEF(&property_lengths_default_value);
1369 	zend_string *property_lengths_name = zend_string_init("lengths", sizeof("lengths") - 1, 1);
1370 	zend_declare_typed_property(class_entry, property_lengths_name, &property_lengths_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_ARRAY|MAY_BE_NULL));
1371 	zend_string_release(property_lengths_name);
1372 
1373 	zval property_num_rows_default_value;
1374 	ZVAL_UNDEF(&property_num_rows_default_value);
1375 	zend_string *property_num_rows_name = zend_string_init("num_rows", sizeof("num_rows") - 1, 1);
1376 	zend_declare_typed_property(class_entry, property_num_rows_name, &property_num_rows_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG|MAY_BE_STRING));
1377 	zend_string_release(property_num_rows_name);
1378 
1379 	zval property_type_default_value;
1380 	ZVAL_UNDEF(&property_type_default_value);
1381 	zend_string *property_type_name = zend_string_init("type", sizeof("type") - 1, 1);
1382 	zend_declare_typed_property(class_entry, property_type_name, &property_type_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1383 	zend_string_release(property_type_name);
1384 
1385 	return class_entry;
1386 }
1387 
register_class_mysqli_stmt(void)1388 static zend_class_entry *register_class_mysqli_stmt(void)
1389 {
1390 	zend_class_entry ce, *class_entry;
1391 
1392 	INIT_CLASS_ENTRY(ce, "mysqli_stmt", class_mysqli_stmt_methods);
1393 	class_entry = zend_register_internal_class_ex(&ce, NULL);
1394 
1395 	zval property_affected_rows_default_value;
1396 	ZVAL_UNDEF(&property_affected_rows_default_value);
1397 	zend_string *property_affected_rows_name = zend_string_init("affected_rows", sizeof("affected_rows") - 1, 1);
1398 	zend_declare_typed_property(class_entry, property_affected_rows_name, &property_affected_rows_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG|MAY_BE_STRING));
1399 	zend_string_release(property_affected_rows_name);
1400 
1401 	zval property_insert_id_default_value;
1402 	ZVAL_UNDEF(&property_insert_id_default_value);
1403 	zend_string *property_insert_id_name = zend_string_init("insert_id", sizeof("insert_id") - 1, 1);
1404 	zend_declare_typed_property(class_entry, property_insert_id_name, &property_insert_id_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG|MAY_BE_STRING));
1405 	zend_string_release(property_insert_id_name);
1406 
1407 	zval property_num_rows_default_value;
1408 	ZVAL_UNDEF(&property_num_rows_default_value);
1409 	zend_string *property_num_rows_name = zend_string_init("num_rows", sizeof("num_rows") - 1, 1);
1410 	zend_declare_typed_property(class_entry, property_num_rows_name, &property_num_rows_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG|MAY_BE_STRING));
1411 	zend_string_release(property_num_rows_name);
1412 
1413 	zval property_param_count_default_value;
1414 	ZVAL_UNDEF(&property_param_count_default_value);
1415 	zend_string *property_param_count_name = zend_string_init("param_count", sizeof("param_count") - 1, 1);
1416 	zend_declare_typed_property(class_entry, property_param_count_name, &property_param_count_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1417 	zend_string_release(property_param_count_name);
1418 
1419 	zval property_field_count_default_value;
1420 	ZVAL_UNDEF(&property_field_count_default_value);
1421 	zend_string *property_field_count_name = zend_string_init("field_count", sizeof("field_count") - 1, 1);
1422 	zend_declare_typed_property(class_entry, property_field_count_name, &property_field_count_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1423 	zend_string_release(property_field_count_name);
1424 
1425 	zval property_errno_default_value;
1426 	ZVAL_UNDEF(&property_errno_default_value);
1427 	zend_string *property_errno_name = zend_string_init("errno", sizeof("errno") - 1, 1);
1428 	zend_declare_typed_property(class_entry, property_errno_name, &property_errno_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1429 	zend_string_release(property_errno_name);
1430 
1431 	zval property_error_default_value;
1432 	ZVAL_UNDEF(&property_error_default_value);
1433 	zend_string *property_error_name = zend_string_init("error", sizeof("error") - 1, 1);
1434 	zend_declare_typed_property(class_entry, property_error_name, &property_error_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
1435 	zend_string_release(property_error_name);
1436 
1437 	zval property_error_list_default_value;
1438 	ZVAL_UNDEF(&property_error_list_default_value);
1439 	zend_string *property_error_list_name = zend_string_init("error_list", sizeof("error_list") - 1, 1);
1440 	zend_declare_typed_property(class_entry, property_error_list_name, &property_error_list_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_ARRAY));
1441 	zend_string_release(property_error_list_name);
1442 
1443 	zval property_sqlstate_default_value;
1444 	ZVAL_UNDEF(&property_sqlstate_default_value);
1445 	zend_string *property_sqlstate_name = zend_string_init("sqlstate", sizeof("sqlstate") - 1, 1);
1446 	zend_declare_typed_property(class_entry, property_sqlstate_name, &property_sqlstate_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
1447 	zend_string_release(property_sqlstate_name);
1448 
1449 	zval property_id_default_value;
1450 	ZVAL_UNDEF(&property_id_default_value);
1451 	zend_string *property_id_name = zend_string_init("id", sizeof("id") - 1, 1);
1452 	zend_declare_typed_property(class_entry, property_id_name, &property_id_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1453 	zend_string_release(property_id_name);
1454 
1455 	return class_entry;
1456 }
1457 
register_class_mysqli_warning(void)1458 static zend_class_entry *register_class_mysqli_warning(void)
1459 {
1460 	zend_class_entry ce, *class_entry;
1461 
1462 	INIT_CLASS_ENTRY(ce, "mysqli_warning", class_mysqli_warning_methods);
1463 	class_entry = zend_register_internal_class_ex(&ce, NULL);
1464 	class_entry->ce_flags |= ZEND_ACC_FINAL;
1465 
1466 	zval property_message_default_value;
1467 	ZVAL_UNDEF(&property_message_default_value);
1468 	zend_string *property_message_name = zend_string_init("message", sizeof("message") - 1, 1);
1469 	zend_declare_typed_property(class_entry, property_message_name, &property_message_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
1470 	zend_string_release(property_message_name);
1471 
1472 	zval property_sqlstate_default_value;
1473 	ZVAL_UNDEF(&property_sqlstate_default_value);
1474 	zend_string *property_sqlstate_name = zend_string_init("sqlstate", sizeof("sqlstate") - 1, 1);
1475 	zend_declare_typed_property(class_entry, property_sqlstate_name, &property_sqlstate_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
1476 	zend_string_release(property_sqlstate_name);
1477 
1478 	zval property_errno_default_value;
1479 	ZVAL_UNDEF(&property_errno_default_value);
1480 	zend_string *property_errno_name = zend_string_init("errno", sizeof("errno") - 1, 1);
1481 	zend_declare_typed_property(class_entry, property_errno_name, &property_errno_default_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
1482 	zend_string_release(property_errno_name);
1483 
1484 	return class_entry;
1485 }
1486 
register_class_mysqli_sql_exception(zend_class_entry * class_entry_RuntimeException)1487 static zend_class_entry *register_class_mysqli_sql_exception(zend_class_entry *class_entry_RuntimeException)
1488 {
1489 	zend_class_entry ce, *class_entry;
1490 
1491 	INIT_CLASS_ENTRY(ce, "mysqli_sql_exception", class_mysqli_sql_exception_methods);
1492 	class_entry = zend_register_internal_class_ex(&ce, class_entry_RuntimeException);
1493 	class_entry->ce_flags |= ZEND_ACC_FINAL;
1494 
1495 	zval property_sqlstate_default_value;
1496 	zend_string *property_sqlstate_default_value_str = zend_string_init("00000", strlen("00000"), 1);
1497 	ZVAL_STR(&property_sqlstate_default_value, property_sqlstate_default_value_str);
1498 	zend_string *property_sqlstate_name = zend_string_init("sqlstate", sizeof("sqlstate") - 1, 1);
1499 	zend_declare_typed_property(class_entry, property_sqlstate_name, &property_sqlstate_default_value, ZEND_ACC_PROTECTED, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_STRING));
1500 	zend_string_release(property_sqlstate_name);
1501 
1502 	return class_entry;
1503 }
1504