xref: /php-src/ext/mysqli/mysqli_arginfo.h (revision b06c95b6)
1 /* This is a generated file, edit the .stub.php file instead.
2  * Stub hash: 5cdfeec10f0f92e3e2f9d2df572b2681b208449d */
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_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_close, 0, 0, IS_TRUE, 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_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_debug, 0, 1, IS_TRUE, 0)
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 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_init, 0, 0, 0)
483 ZEND_END_ARG_INFO()
484 
485 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_kill, 0, 1, _IS_BOOL, 0)
486 	ZEND_ARG_TYPE_INFO(0, process_id, IS_LONG, 0)
487 ZEND_END_ARG_INFO()
488 
489 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_multi_query, 0, 1, _IS_BOOL, 0)
490 	ZEND_ARG_TYPE_INFO(0, query, IS_STRING, 0)
491 ZEND_END_ARG_INFO()
492 
493 #define arginfo_class_mysqli_more_results arginfo_class_mysqli_dump_debug_info
494 
495 #define arginfo_class_mysqli_next_result arginfo_class_mysqli_dump_debug_info
496 
497 #define arginfo_class_mysqli_ping arginfo_class_mysqli_dump_debug_info
498 
499 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_MASK_EX(arginfo_class_mysqli_poll, 0, 4, MAY_BE_LONG|MAY_BE_FALSE)
500 	ZEND_ARG_TYPE_INFO(1, read, IS_ARRAY, 1)
501 	ZEND_ARG_TYPE_INFO(1, error, IS_ARRAY, 1)
502 	ZEND_ARG_TYPE_INFO(1, reject, IS_ARRAY, 0)
503 	ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0)
504 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, microseconds, IS_LONG, 0, "0")
505 ZEND_END_ARG_INFO()
506 
507 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_mysqli_prepare, 0, 1, mysqli_stmt, MAY_BE_FALSE)
508 	ZEND_ARG_TYPE_INFO(0, query, IS_STRING, 0)
509 ZEND_END_ARG_INFO()
510 
511 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_mysqli_query, 0, 1, mysqli_result, MAY_BE_BOOL)
512 	ZEND_ARG_TYPE_INFO(0, query, IS_STRING, 0)
513 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, result_mode, IS_LONG, 0, "MYSQLI_STORE_RESULT")
514 ZEND_END_ARG_INFO()
515 
516 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_real_connect, 0, 0, _IS_BOOL, 0)
517 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, hostname, IS_STRING, 1, "null")
518 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, username, IS_STRING, 1, "null")
519 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, password, IS_STRING, 1, "null")
520 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, database, IS_STRING, 1, "null")
521 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, port, IS_LONG, 1, "null")
522 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, socket, IS_STRING, 1, "null")
523 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
524 ZEND_END_ARG_INFO()
525 
526 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_real_escape_string, 0, 1, IS_STRING, 0)
527 	ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
528 ZEND_END_ARG_INFO()
529 
530 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_mysqli_reap_async_query, 0, 0, mysqli_result, MAY_BE_BOOL)
531 ZEND_END_ARG_INFO()
532 
533 #define arginfo_class_mysqli_escape_string arginfo_class_mysqli_real_escape_string
534 
535 #define arginfo_class_mysqli_real_query arginfo_class_mysqli_multi_query
536 
537 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_release_savepoint, 0, 1, _IS_BOOL, 0)
538 	ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
539 ZEND_END_ARG_INFO()
540 
541 #define arginfo_class_mysqli_rollback arginfo_class_mysqli_begin_transaction
542 
543 #define arginfo_class_mysqli_savepoint arginfo_class_mysqli_release_savepoint
544 
545 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_select_db, 0, 1, _IS_BOOL, 0)
546 	ZEND_ARG_TYPE_INFO(0, database, IS_STRING, 0)
547 ZEND_END_ARG_INFO()
548 
549 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_set_charset, 0, 1, _IS_BOOL, 0)
550 	ZEND_ARG_TYPE_INFO(0, charset, IS_STRING, 0)
551 ZEND_END_ARG_INFO()
552 
553 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_options, 0, 2, _IS_BOOL, 0)
554 	ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0)
555 	ZEND_ARG_INFO(0, value)
556 ZEND_END_ARG_INFO()
557 
558 #define arginfo_class_mysqli_set_opt arginfo_class_mysqli_options
559 
560 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_ssl_set, 0, 5, IS_TRUE, 0)
561 	ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 1)
562 	ZEND_ARG_TYPE_INFO(0, certificate, IS_STRING, 1)
563 	ZEND_ARG_TYPE_INFO(0, ca_certificate, IS_STRING, 1)
564 	ZEND_ARG_TYPE_INFO(0, ca_path, IS_STRING, 1)
565 	ZEND_ARG_TYPE_INFO(0, cipher_algos, IS_STRING, 1)
566 ZEND_END_ARG_INFO()
567 
568 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_MASK_EX(arginfo_class_mysqli_stat, 0, 0, MAY_BE_STRING|MAY_BE_FALSE)
569 ZEND_END_ARG_INFO()
570 
571 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_mysqli_stmt_init, 0, 0, mysqli_stmt, MAY_BE_FALSE)
572 ZEND_END_ARG_INFO()
573 
574 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_mysqli_store_result, 0, 0, mysqli_result, MAY_BE_FALSE)
575 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "0")
576 ZEND_END_ARG_INFO()
577 
578 #define arginfo_class_mysqli_thread_safe arginfo_class_mysqli_dump_debug_info
579 
580 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_TYPE_MASK_EX(arginfo_class_mysqli_use_result, 0, 0, mysqli_result, MAY_BE_FALSE)
581 ZEND_END_ARG_INFO()
582 
583 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_refresh, 0, 1, _IS_BOOL, 0)
584 	ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
585 ZEND_END_ARG_INFO()
586 
587 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_result___construct, 0, 0, 1)
588 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
589 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, result_mode, IS_LONG, 0, "MYSQLI_STORE_RESULT")
590 ZEND_END_ARG_INFO()
591 
592 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_result_close, 0, 0, IS_VOID, 0)
593 ZEND_END_ARG_INFO()
594 
595 #define arginfo_class_mysqli_result_free arginfo_class_mysqli_result_close
596 
597 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_result_data_seek, 0, 1, _IS_BOOL, 0)
598 	ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
599 ZEND_END_ARG_INFO()
600 
601 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_MASK_EX(arginfo_class_mysqli_result_fetch_field, 0, 0, MAY_BE_OBJECT|MAY_BE_FALSE)
602 ZEND_END_ARG_INFO()
603 
604 #define arginfo_class_mysqli_result_fetch_fields arginfo_class_mysqli_get_connection_stats
605 
606 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_MASK_EX(arginfo_class_mysqli_result_fetch_field_direct, 0, 1, MAY_BE_OBJECT|MAY_BE_FALSE)
607 	ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0)
608 ZEND_END_ARG_INFO()
609 
610 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_result_fetch_all, 0, 0, IS_ARRAY, 0)
611 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "MYSQLI_NUM")
612 ZEND_END_ARG_INFO()
613 
614 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)
615 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "MYSQLI_BOTH")
616 ZEND_END_ARG_INFO()
617 
618 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)
619 ZEND_END_ARG_INFO()
620 
621 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)
622 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, class, IS_STRING, 0, "\"stdClass\"")
623 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, constructor_args, IS_ARRAY, 0, "[]")
624 ZEND_END_ARG_INFO()
625 
626 #define arginfo_class_mysqli_result_fetch_row arginfo_class_mysqli_result_fetch_assoc
627 
628 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)
629 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, column, IS_LONG, 0, "0")
630 ZEND_END_ARG_INFO()
631 
632 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_result_field_seek, 0, 1, IS_TRUE, 0)
633 	ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0)
634 ZEND_END_ARG_INFO()
635 
636 #define arginfo_class_mysqli_result_free_result arginfo_class_mysqli_result_close
637 
638 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_mysqli_result_getIterator, 0, 0, Iterator, 0)
639 ZEND_END_ARG_INFO()
640 
641 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_stmt___construct, 0, 0, 1)
642 	ZEND_ARG_OBJ_INFO(0, mysql, mysqli, 0)
643 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, query, IS_STRING, 1, "null")
644 ZEND_END_ARG_INFO()
645 
646 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_stmt_attr_get, 0, 1, IS_LONG, 0)
647 	ZEND_ARG_TYPE_INFO(0, attribute, IS_LONG, 0)
648 ZEND_END_ARG_INFO()
649 
650 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_stmt_attr_set, 0, 2, _IS_BOOL, 0)
651 	ZEND_ARG_TYPE_INFO(0, attribute, IS_LONG, 0)
652 	ZEND_ARG_TYPE_INFO(0, value, IS_LONG, 0)
653 ZEND_END_ARG_INFO()
654 
655 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_stmt_bind_param, 0, 1, _IS_BOOL, 0)
656 	ZEND_ARG_TYPE_INFO(0, types, IS_STRING, 0)
657 	ZEND_ARG_VARIADIC_TYPE_INFO(1, vars, IS_MIXED, 0)
658 ZEND_END_ARG_INFO()
659 
660 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_stmt_bind_result, 0, 0, _IS_BOOL, 0)
661 	ZEND_ARG_VARIADIC_TYPE_INFO(1, vars, IS_MIXED, 0)
662 ZEND_END_ARG_INFO()
663 
664 #define arginfo_class_mysqli_stmt_close arginfo_class_mysqli_close
665 
666 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_stmt_data_seek, 0, 1, IS_VOID, 0)
667 	ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
668 ZEND_END_ARG_INFO()
669 
670 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_stmt_execute, 0, 0, _IS_BOOL, 0)
671 	ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, params, IS_ARRAY, 1, "null")
672 ZEND_END_ARG_INFO()
673 
674 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_stmt_fetch, 0, 0, _IS_BOOL, 1)
675 ZEND_END_ARG_INFO()
676 
677 #define arginfo_class_mysqli_stmt_get_warnings arginfo_class_mysqli_get_warnings
678 
679 #define arginfo_class_mysqli_stmt_result_metadata arginfo_class_mysqli_use_result
680 
681 #define arginfo_class_mysqli_stmt_more_results arginfo_class_mysqli_dump_debug_info
682 
683 #define arginfo_class_mysqli_stmt_next_result arginfo_class_mysqli_dump_debug_info
684 
685 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_MASK_EX(arginfo_class_mysqli_stmt_num_rows, 0, 0, MAY_BE_LONG|MAY_BE_STRING)
686 ZEND_END_ARG_INFO()
687 
688 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_stmt_send_long_data, 0, 2, _IS_BOOL, 0)
689 	ZEND_ARG_TYPE_INFO(0, param_num, IS_LONG, 0)
690 	ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
691 ZEND_END_ARG_INFO()
692 
693 #define arginfo_class_mysqli_stmt_free_result arginfo_class_mysqli_result_close
694 
695 #define arginfo_class_mysqli_stmt_reset arginfo_class_mysqli_dump_debug_info
696 
697 #define arginfo_class_mysqli_stmt_prepare arginfo_class_mysqli_multi_query
698 
699 #define arginfo_class_mysqli_stmt_store_result arginfo_class_mysqli_dump_debug_info
700 
701 #define arginfo_class_mysqli_stmt_get_result arginfo_class_mysqli_use_result
702 
703 #define arginfo_class_mysqli_warning___construct arginfo_class_mysqli_init
704 
705 #define arginfo_class_mysqli_warning_next arginfo_mysqli_thread_safe
706 
707 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_mysqli_sql_exception_getSqlState, 0, 0, IS_STRING, 0)
708 ZEND_END_ARG_INFO()
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 static const zend_function_entry ext_functions[] = {
823 	ZEND_FE(mysqli_affected_rows, arginfo_mysqli_affected_rows)
824 	ZEND_FE(mysqli_autocommit, arginfo_mysqli_autocommit)
825 	ZEND_FE(mysqli_begin_transaction, arginfo_mysqli_begin_transaction)
826 	ZEND_FE(mysqli_change_user, arginfo_mysqli_change_user)
827 	ZEND_FE(mysqli_character_set_name, arginfo_mysqli_character_set_name)
828 	ZEND_FE(mysqli_close, arginfo_mysqli_close)
829 	ZEND_FE(mysqli_commit, arginfo_mysqli_commit)
830 	ZEND_FE(mysqli_connect, arginfo_mysqli_connect)
831 	ZEND_FE(mysqli_connect_errno, arginfo_mysqli_connect_errno)
832 	ZEND_FE(mysqli_connect_error, arginfo_mysqli_connect_error)
833 	ZEND_FE(mysqli_data_seek, arginfo_mysqli_data_seek)
834 	ZEND_FE(mysqli_dump_debug_info, arginfo_mysqli_dump_debug_info)
835 	ZEND_FE(mysqli_debug, arginfo_mysqli_debug)
836 	ZEND_FE(mysqli_errno, arginfo_mysqli_errno)
837 	ZEND_FE(mysqli_error, arginfo_mysqli_error)
838 	ZEND_FE(mysqli_error_list, arginfo_mysqli_error_list)
839 	ZEND_FE(mysqli_stmt_execute, arginfo_mysqli_stmt_execute)
840 	ZEND_RAW_FENTRY("mysqli_execute", zif_mysqli_stmt_execute, arginfo_mysqli_execute, 0, NULL, NULL)
841 	ZEND_FE(mysqli_execute_query, arginfo_mysqli_execute_query)
842 	ZEND_FE(mysqli_fetch_field, arginfo_mysqli_fetch_field)
843 	ZEND_FE(mysqli_fetch_fields, arginfo_mysqli_fetch_fields)
844 	ZEND_FE(mysqli_fetch_field_direct, arginfo_mysqli_fetch_field_direct)
845 	ZEND_FE(mysqli_fetch_lengths, arginfo_mysqli_fetch_lengths)
846 	ZEND_FE(mysqli_fetch_all, arginfo_mysqli_fetch_all)
847 	ZEND_FE(mysqli_fetch_array, arginfo_mysqli_fetch_array)
848 	ZEND_FE(mysqli_fetch_assoc, arginfo_mysqli_fetch_assoc)
849 	ZEND_FE(mysqli_fetch_object, arginfo_mysqli_fetch_object)
850 	ZEND_FE(mysqli_fetch_row, arginfo_mysqli_fetch_row)
851 	ZEND_FE(mysqli_fetch_column, arginfo_mysqli_fetch_column)
852 	ZEND_FE(mysqli_field_count, arginfo_mysqli_field_count)
853 	ZEND_FE(mysqli_field_seek, arginfo_mysqli_field_seek)
854 	ZEND_FE(mysqli_field_tell, arginfo_mysqli_field_tell)
855 	ZEND_FE(mysqli_free_result, arginfo_mysqli_free_result)
856 	ZEND_FE(mysqli_get_connection_stats, arginfo_mysqli_get_connection_stats)
857 	ZEND_FE(mysqli_get_client_stats, arginfo_mysqli_get_client_stats)
858 	ZEND_FE(mysqli_get_charset, arginfo_mysqli_get_charset)
859 	ZEND_FE(mysqli_get_client_info, arginfo_mysqli_get_client_info)
860 	ZEND_FE(mysqli_get_client_version, arginfo_mysqli_get_client_version)
861 	ZEND_FE(mysqli_get_links_stats, arginfo_mysqli_get_links_stats)
862 	ZEND_FE(mysqli_get_host_info, arginfo_mysqli_get_host_info)
863 	ZEND_FE(mysqli_get_proto_info, arginfo_mysqli_get_proto_info)
864 	ZEND_FE(mysqli_get_server_info, arginfo_mysqli_get_server_info)
865 	ZEND_FE(mysqli_get_server_version, arginfo_mysqli_get_server_version)
866 	ZEND_FE(mysqli_get_warnings, arginfo_mysqli_get_warnings)
867 	ZEND_FE(mysqli_init, arginfo_mysqli_init)
868 	ZEND_FE(mysqli_info, arginfo_mysqli_info)
869 	ZEND_FE(mysqli_insert_id, arginfo_mysqli_insert_id)
870 	ZEND_FE(mysqli_kill, arginfo_mysqli_kill)
871 	ZEND_FE(mysqli_more_results, arginfo_mysqli_more_results)
872 	ZEND_FE(mysqli_multi_query, arginfo_mysqli_multi_query)
873 	ZEND_FE(mysqli_next_result, arginfo_mysqli_next_result)
874 	ZEND_FE(mysqli_num_fields, arginfo_mysqli_num_fields)
875 	ZEND_FE(mysqli_num_rows, arginfo_mysqli_num_rows)
876 	ZEND_FE(mysqli_options, arginfo_mysqli_options)
877 	ZEND_RAW_FENTRY("mysqli_set_opt", zif_mysqli_options, arginfo_mysqli_set_opt, 0, NULL, NULL)
878 	ZEND_FE(mysqli_ping, arginfo_mysqli_ping)
879 	ZEND_FE(mysqli_poll, arginfo_mysqli_poll)
880 	ZEND_FE(mysqli_prepare, arginfo_mysqli_prepare)
881 	ZEND_FE(mysqli_report, arginfo_mysqli_report)
882 	ZEND_FE(mysqli_query, arginfo_mysqli_query)
883 	ZEND_FE(mysqli_real_connect, arginfo_mysqli_real_connect)
884 	ZEND_FE(mysqli_real_escape_string, arginfo_mysqli_real_escape_string)
885 	ZEND_RAW_FENTRY("mysqli_escape_string", zif_mysqli_real_escape_string, arginfo_mysqli_escape_string, 0, NULL, NULL)
886 	ZEND_FE(mysqli_real_query, arginfo_mysqli_real_query)
887 	ZEND_FE(mysqli_reap_async_query, arginfo_mysqli_reap_async_query)
888 	ZEND_FE(mysqli_release_savepoint, arginfo_mysqli_release_savepoint)
889 	ZEND_FE(mysqli_rollback, arginfo_mysqli_rollback)
890 	ZEND_FE(mysqli_savepoint, arginfo_mysqli_savepoint)
891 	ZEND_FE(mysqli_select_db, arginfo_mysqli_select_db)
892 	ZEND_FE(mysqli_set_charset, arginfo_mysqli_set_charset)
893 	ZEND_FE(mysqli_stmt_affected_rows, arginfo_mysqli_stmt_affected_rows)
894 	ZEND_FE(mysqli_stmt_attr_get, arginfo_mysqli_stmt_attr_get)
895 	ZEND_FE(mysqli_stmt_attr_set, arginfo_mysqli_stmt_attr_set)
896 	ZEND_FE(mysqli_stmt_bind_param, arginfo_mysqli_stmt_bind_param)
897 	ZEND_FE(mysqli_stmt_bind_result, arginfo_mysqli_stmt_bind_result)
898 	ZEND_FE(mysqli_stmt_close, arginfo_mysqli_stmt_close)
899 	ZEND_FE(mysqli_stmt_data_seek, arginfo_mysqli_stmt_data_seek)
900 	ZEND_FE(mysqli_stmt_errno, arginfo_mysqli_stmt_errno)
901 	ZEND_FE(mysqli_stmt_error, arginfo_mysqli_stmt_error)
902 	ZEND_FE(mysqli_stmt_error_list, arginfo_mysqli_stmt_error_list)
903 	ZEND_FE(mysqli_stmt_fetch, arginfo_mysqli_stmt_fetch)
904 	ZEND_FE(mysqli_stmt_field_count, arginfo_mysqli_stmt_field_count)
905 	ZEND_FE(mysqli_stmt_free_result, arginfo_mysqli_stmt_free_result)
906 	ZEND_FE(mysqli_stmt_get_result, arginfo_mysqli_stmt_get_result)
907 	ZEND_FE(mysqli_stmt_get_warnings, arginfo_mysqli_stmt_get_warnings)
908 	ZEND_FE(mysqli_stmt_init, arginfo_mysqli_stmt_init)
909 	ZEND_FE(mysqli_stmt_insert_id, arginfo_mysqli_stmt_insert_id)
910 	ZEND_FE(mysqli_stmt_more_results, arginfo_mysqli_stmt_more_results)
911 	ZEND_FE(mysqli_stmt_next_result, arginfo_mysqli_stmt_next_result)
912 	ZEND_FE(mysqli_stmt_num_rows, arginfo_mysqli_stmt_num_rows)
913 	ZEND_FE(mysqli_stmt_param_count, arginfo_mysqli_stmt_param_count)
914 	ZEND_FE(mysqli_stmt_prepare, arginfo_mysqli_stmt_prepare)
915 	ZEND_FE(mysqli_stmt_reset, arginfo_mysqli_stmt_reset)
916 	ZEND_FE(mysqli_stmt_result_metadata, arginfo_mysqli_stmt_result_metadata)
917 	ZEND_FE(mysqli_stmt_send_long_data, arginfo_mysqli_stmt_send_long_data)
918 	ZEND_FE(mysqli_stmt_store_result, arginfo_mysqli_stmt_store_result)
919 	ZEND_FE(mysqli_stmt_sqlstate, arginfo_mysqli_stmt_sqlstate)
920 	ZEND_FE(mysqli_sqlstate, arginfo_mysqli_sqlstate)
921 	ZEND_FE(mysqli_ssl_set, arginfo_mysqli_ssl_set)
922 	ZEND_FE(mysqli_stat, arginfo_mysqli_stat)
923 	ZEND_FE(mysqli_store_result, arginfo_mysqli_store_result)
924 	ZEND_FE(mysqli_thread_id, arginfo_mysqli_thread_id)
925 	ZEND_FE(mysqli_thread_safe, arginfo_mysqli_thread_safe)
926 	ZEND_FE(mysqli_use_result, arginfo_mysqli_use_result)
927 	ZEND_FE(mysqli_warning_count, arginfo_mysqli_warning_count)
928 	ZEND_FE(mysqli_refresh, arginfo_mysqli_refresh)
929 	ZEND_FE_END
930 };
931 
932 static const zend_function_entry class_mysqli_driver_methods[] = {
933 	ZEND_FE_END
934 };
935 
936 static const zend_function_entry class_mysqli_methods[] = {
937 	ZEND_ME(mysqli, __construct, arginfo_class_mysqli___construct, ZEND_ACC_PUBLIC)
938 	ZEND_RAW_FENTRY("autocommit", zif_mysqli_autocommit, arginfo_class_mysqli_autocommit, ZEND_ACC_PUBLIC, NULL, NULL)
939 	ZEND_RAW_FENTRY("begin_transaction", zif_mysqli_begin_transaction, arginfo_class_mysqli_begin_transaction, ZEND_ACC_PUBLIC, NULL, NULL)
940 	ZEND_RAW_FENTRY("change_user", zif_mysqli_change_user, arginfo_class_mysqli_change_user, ZEND_ACC_PUBLIC, NULL, NULL)
941 	ZEND_RAW_FENTRY("character_set_name", zif_mysqli_character_set_name, arginfo_class_mysqli_character_set_name, ZEND_ACC_PUBLIC, NULL, NULL)
942 	ZEND_RAW_FENTRY("close", zif_mysqli_close, arginfo_class_mysqli_close, ZEND_ACC_PUBLIC, NULL, NULL)
943 	ZEND_RAW_FENTRY("commit", zif_mysqli_commit, arginfo_class_mysqli_commit, ZEND_ACC_PUBLIC, NULL, NULL)
944 	ZEND_RAW_FENTRY("connect", zif_mysqli_connect, arginfo_class_mysqli_connect, ZEND_ACC_PUBLIC, NULL, NULL)
945 	ZEND_RAW_FENTRY("dump_debug_info", zif_mysqli_dump_debug_info, arginfo_class_mysqli_dump_debug_info, ZEND_ACC_PUBLIC, NULL, NULL)
946 	ZEND_RAW_FENTRY("debug", zif_mysqli_debug, arginfo_class_mysqli_debug, ZEND_ACC_PUBLIC, NULL, NULL)
947 	ZEND_RAW_FENTRY("get_charset", zif_mysqli_get_charset, arginfo_class_mysqli_get_charset, ZEND_ACC_PUBLIC, NULL, NULL)
948 	ZEND_RAW_FENTRY("execute_query", zif_mysqli_execute_query, arginfo_class_mysqli_execute_query, ZEND_ACC_PUBLIC, NULL, NULL)
949 	ZEND_RAW_FENTRY("get_client_info", zif_mysqli_get_client_info, arginfo_class_mysqli_get_client_info, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED, NULL, NULL)
950 	ZEND_RAW_FENTRY("get_connection_stats", zif_mysqli_get_connection_stats, arginfo_class_mysqli_get_connection_stats, ZEND_ACC_PUBLIC, NULL, NULL)
951 	ZEND_RAW_FENTRY("get_server_info", zif_mysqli_get_server_info, arginfo_class_mysqli_get_server_info, ZEND_ACC_PUBLIC, NULL, NULL)
952 	ZEND_RAW_FENTRY("get_warnings", zif_mysqli_get_warnings, arginfo_class_mysqli_get_warnings, ZEND_ACC_PUBLIC, NULL, NULL)
953 	ZEND_ME(mysqli, init, arginfo_class_mysqli_init, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED)
954 	ZEND_RAW_FENTRY("kill", zif_mysqli_kill, arginfo_class_mysqli_kill, ZEND_ACC_PUBLIC, NULL, NULL)
955 	ZEND_RAW_FENTRY("multi_query", zif_mysqli_multi_query, arginfo_class_mysqli_multi_query, ZEND_ACC_PUBLIC, NULL, NULL)
956 	ZEND_RAW_FENTRY("more_results", zif_mysqli_more_results, arginfo_class_mysqli_more_results, ZEND_ACC_PUBLIC, NULL, NULL)
957 	ZEND_RAW_FENTRY("next_result", zif_mysqli_next_result, arginfo_class_mysqli_next_result, ZEND_ACC_PUBLIC, NULL, NULL)
958 	ZEND_RAW_FENTRY("ping", zif_mysqli_ping, arginfo_class_mysqli_ping, ZEND_ACC_PUBLIC, NULL, NULL)
959 	ZEND_RAW_FENTRY("poll", zif_mysqli_poll, arginfo_class_mysqli_poll, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC, NULL, NULL)
960 	ZEND_RAW_FENTRY("prepare", zif_mysqli_prepare, arginfo_class_mysqli_prepare, ZEND_ACC_PUBLIC, NULL, NULL)
961 	ZEND_RAW_FENTRY("query", zif_mysqli_query, arginfo_class_mysqli_query, ZEND_ACC_PUBLIC, NULL, NULL)
962 	ZEND_RAW_FENTRY("real_connect", zif_mysqli_real_connect, arginfo_class_mysqli_real_connect, ZEND_ACC_PUBLIC, NULL, NULL)
963 	ZEND_RAW_FENTRY("real_escape_string", zif_mysqli_real_escape_string, arginfo_class_mysqli_real_escape_string, ZEND_ACC_PUBLIC, NULL, NULL)
964 	ZEND_RAW_FENTRY("reap_async_query", zif_mysqli_reap_async_query, arginfo_class_mysqli_reap_async_query, ZEND_ACC_PUBLIC, NULL, NULL)
965 	ZEND_RAW_FENTRY("escape_string", zif_mysqli_real_escape_string, arginfo_class_mysqli_escape_string, ZEND_ACC_PUBLIC, NULL, NULL)
966 	ZEND_RAW_FENTRY("real_query", zif_mysqli_real_query, arginfo_class_mysqli_real_query, ZEND_ACC_PUBLIC, NULL, NULL)
967 	ZEND_RAW_FENTRY("release_savepoint", zif_mysqli_release_savepoint, arginfo_class_mysqli_release_savepoint, ZEND_ACC_PUBLIC, NULL, NULL)
968 	ZEND_RAW_FENTRY("rollback", zif_mysqli_rollback, arginfo_class_mysqli_rollback, ZEND_ACC_PUBLIC, NULL, NULL)
969 	ZEND_RAW_FENTRY("savepoint", zif_mysqli_savepoint, arginfo_class_mysqli_savepoint, ZEND_ACC_PUBLIC, NULL, NULL)
970 	ZEND_RAW_FENTRY("select_db", zif_mysqli_select_db, arginfo_class_mysqli_select_db, ZEND_ACC_PUBLIC, NULL, NULL)
971 	ZEND_RAW_FENTRY("set_charset", zif_mysqli_set_charset, arginfo_class_mysqli_set_charset, ZEND_ACC_PUBLIC, NULL, NULL)
972 	ZEND_RAW_FENTRY("options", zif_mysqli_options, arginfo_class_mysqli_options, ZEND_ACC_PUBLIC, NULL, NULL)
973 	ZEND_RAW_FENTRY("set_opt", zif_mysqli_options, arginfo_class_mysqli_set_opt, ZEND_ACC_PUBLIC, NULL, NULL)
974 	ZEND_RAW_FENTRY("ssl_set", zif_mysqli_ssl_set, arginfo_class_mysqli_ssl_set, ZEND_ACC_PUBLIC, NULL, NULL)
975 	ZEND_RAW_FENTRY("stat", zif_mysqli_stat, arginfo_class_mysqli_stat, ZEND_ACC_PUBLIC, NULL, NULL)
976 	ZEND_RAW_FENTRY("stmt_init", zif_mysqli_stmt_init, arginfo_class_mysqli_stmt_init, ZEND_ACC_PUBLIC, NULL, NULL)
977 	ZEND_RAW_FENTRY("store_result", zif_mysqli_store_result, arginfo_class_mysqli_store_result, ZEND_ACC_PUBLIC, NULL, NULL)
978 	ZEND_RAW_FENTRY("thread_safe", zif_mysqli_thread_safe, arginfo_class_mysqli_thread_safe, ZEND_ACC_PUBLIC, NULL, NULL)
979 	ZEND_RAW_FENTRY("use_result", zif_mysqli_use_result, arginfo_class_mysqli_use_result, ZEND_ACC_PUBLIC, NULL, NULL)
980 	ZEND_RAW_FENTRY("refresh", zif_mysqli_refresh, arginfo_class_mysqli_refresh, ZEND_ACC_PUBLIC, NULL, NULL)
981 	ZEND_FE_END
982 };
983 
984 static const zend_function_entry class_mysqli_result_methods[] = {
985 	ZEND_ME(mysqli_result, __construct, arginfo_class_mysqli_result___construct, ZEND_ACC_PUBLIC)
986 	ZEND_RAW_FENTRY("close", zif_mysqli_free_result, arginfo_class_mysqli_result_close, ZEND_ACC_PUBLIC, NULL, NULL)
987 	ZEND_RAW_FENTRY("free", zif_mysqli_free_result, arginfo_class_mysqli_result_free, ZEND_ACC_PUBLIC, NULL, NULL)
988 	ZEND_RAW_FENTRY("data_seek", zif_mysqli_data_seek, arginfo_class_mysqli_result_data_seek, ZEND_ACC_PUBLIC, NULL, NULL)
989 	ZEND_RAW_FENTRY("fetch_field", zif_mysqli_fetch_field, arginfo_class_mysqli_result_fetch_field, ZEND_ACC_PUBLIC, NULL, NULL)
990 	ZEND_RAW_FENTRY("fetch_fields", zif_mysqli_fetch_fields, arginfo_class_mysqli_result_fetch_fields, ZEND_ACC_PUBLIC, NULL, NULL)
991 	ZEND_RAW_FENTRY("fetch_field_direct", zif_mysqli_fetch_field_direct, arginfo_class_mysqli_result_fetch_field_direct, ZEND_ACC_PUBLIC, NULL, NULL)
992 	ZEND_RAW_FENTRY("fetch_all", zif_mysqli_fetch_all, arginfo_class_mysqli_result_fetch_all, ZEND_ACC_PUBLIC, NULL, NULL)
993 	ZEND_RAW_FENTRY("fetch_array", zif_mysqli_fetch_array, arginfo_class_mysqli_result_fetch_array, ZEND_ACC_PUBLIC, NULL, NULL)
994 	ZEND_RAW_FENTRY("fetch_assoc", zif_mysqli_fetch_assoc, arginfo_class_mysqli_result_fetch_assoc, ZEND_ACC_PUBLIC, NULL, NULL)
995 	ZEND_RAW_FENTRY("fetch_object", zif_mysqli_fetch_object, arginfo_class_mysqli_result_fetch_object, ZEND_ACC_PUBLIC, NULL, NULL)
996 	ZEND_RAW_FENTRY("fetch_row", zif_mysqli_fetch_row, arginfo_class_mysqli_result_fetch_row, ZEND_ACC_PUBLIC, NULL, NULL)
997 	ZEND_RAW_FENTRY("fetch_column", zif_mysqli_fetch_column, arginfo_class_mysqli_result_fetch_column, ZEND_ACC_PUBLIC, NULL, NULL)
998 	ZEND_RAW_FENTRY("field_seek", zif_mysqli_field_seek, arginfo_class_mysqli_result_field_seek, ZEND_ACC_PUBLIC, NULL, NULL)
999 	ZEND_RAW_FENTRY("free_result", zif_mysqli_free_result, arginfo_class_mysqli_result_free_result, ZEND_ACC_PUBLIC, NULL, NULL)
1000 	ZEND_ME(mysqli_result, getIterator, arginfo_class_mysqli_result_getIterator, ZEND_ACC_PUBLIC)
1001 	ZEND_FE_END
1002 };
1003 
1004 static const zend_function_entry class_mysqli_stmt_methods[] = {
1005 	ZEND_ME(mysqli_stmt, __construct, arginfo_class_mysqli_stmt___construct, ZEND_ACC_PUBLIC)
1006 	ZEND_RAW_FENTRY("attr_get", zif_mysqli_stmt_attr_get, arginfo_class_mysqli_stmt_attr_get, ZEND_ACC_PUBLIC, NULL, NULL)
1007 	ZEND_RAW_FENTRY("attr_set", zif_mysqli_stmt_attr_set, arginfo_class_mysqli_stmt_attr_set, ZEND_ACC_PUBLIC, NULL, NULL)
1008 	ZEND_RAW_FENTRY("bind_param", zif_mysqli_stmt_bind_param, arginfo_class_mysqli_stmt_bind_param, ZEND_ACC_PUBLIC, NULL, NULL)
1009 	ZEND_RAW_FENTRY("bind_result", zif_mysqli_stmt_bind_result, arginfo_class_mysqli_stmt_bind_result, ZEND_ACC_PUBLIC, NULL, NULL)
1010 	ZEND_RAW_FENTRY("close", zif_mysqli_stmt_close, arginfo_class_mysqli_stmt_close, ZEND_ACC_PUBLIC, NULL, NULL)
1011 	ZEND_RAW_FENTRY("data_seek", zif_mysqli_stmt_data_seek, arginfo_class_mysqli_stmt_data_seek, ZEND_ACC_PUBLIC, NULL, NULL)
1012 	ZEND_RAW_FENTRY("execute", zif_mysqli_stmt_execute, arginfo_class_mysqli_stmt_execute, ZEND_ACC_PUBLIC, NULL, NULL)
1013 	ZEND_RAW_FENTRY("fetch", zif_mysqli_stmt_fetch, arginfo_class_mysqli_stmt_fetch, ZEND_ACC_PUBLIC, NULL, NULL)
1014 	ZEND_RAW_FENTRY("get_warnings", zif_mysqli_stmt_get_warnings, arginfo_class_mysqli_stmt_get_warnings, ZEND_ACC_PUBLIC, NULL, NULL)
1015 	ZEND_RAW_FENTRY("result_metadata", zif_mysqli_stmt_result_metadata, arginfo_class_mysqli_stmt_result_metadata, ZEND_ACC_PUBLIC, NULL, NULL)
1016 	ZEND_RAW_FENTRY("more_results", zif_mysqli_stmt_more_results, arginfo_class_mysqli_stmt_more_results, ZEND_ACC_PUBLIC, NULL, NULL)
1017 	ZEND_RAW_FENTRY("next_result", zif_mysqli_stmt_next_result, arginfo_class_mysqli_stmt_next_result, ZEND_ACC_PUBLIC, NULL, NULL)
1018 	ZEND_RAW_FENTRY("num_rows", zif_mysqli_stmt_num_rows, arginfo_class_mysqli_stmt_num_rows, ZEND_ACC_PUBLIC, NULL, NULL)
1019 	ZEND_RAW_FENTRY("send_long_data", zif_mysqli_stmt_send_long_data, arginfo_class_mysqli_stmt_send_long_data, ZEND_ACC_PUBLIC, NULL, NULL)
1020 	ZEND_RAW_FENTRY("free_result", zif_mysqli_stmt_free_result, arginfo_class_mysqli_stmt_free_result, ZEND_ACC_PUBLIC, NULL, NULL)
1021 	ZEND_RAW_FENTRY("reset", zif_mysqli_stmt_reset, arginfo_class_mysqli_stmt_reset, ZEND_ACC_PUBLIC, NULL, NULL)
1022 	ZEND_RAW_FENTRY("prepare", zif_mysqli_stmt_prepare, arginfo_class_mysqli_stmt_prepare, ZEND_ACC_PUBLIC, NULL, NULL)
1023 	ZEND_RAW_FENTRY("store_result", zif_mysqli_stmt_store_result, arginfo_class_mysqli_stmt_store_result, ZEND_ACC_PUBLIC, NULL, NULL)
1024 	ZEND_RAW_FENTRY("get_result", zif_mysqli_stmt_get_result, arginfo_class_mysqli_stmt_get_result, ZEND_ACC_PUBLIC, NULL, NULL)
1025 	ZEND_FE_END
1026 };
1027 
1028 static const zend_function_entry class_mysqli_warning_methods[] = {
1029 	ZEND_ME(mysqli_warning, __construct, arginfo_class_mysqli_warning___construct, ZEND_ACC_PRIVATE)
1030 	ZEND_ME(mysqli_warning, next, arginfo_class_mysqli_warning_next, ZEND_ACC_PUBLIC)
1031 	ZEND_FE_END
1032 };
1033 
1034 static const zend_function_entry class_mysqli_sql_exception_methods[] = {
1035 	ZEND_ME(mysqli_sql_exception, getSqlState, arginfo_class_mysqli_sql_exception_getSqlState, ZEND_ACC_PUBLIC)
1036 	ZEND_FE_END
1037 };
1038 
register_mysqli_symbols(int module_number)1039 static void register_mysqli_symbols(int module_number)
1040 {
1041 	REGISTER_LONG_CONSTANT("MYSQLI_READ_DEFAULT_GROUP", MYSQL_READ_DEFAULT_GROUP, CONST_PERSISTENT);
1042 	REGISTER_LONG_CONSTANT("MYSQLI_READ_DEFAULT_FILE", MYSQL_READ_DEFAULT_FILE, CONST_PERSISTENT);
1043 	REGISTER_LONG_CONSTANT("MYSQLI_OPT_CONNECT_TIMEOUT", MYSQL_OPT_CONNECT_TIMEOUT, CONST_PERSISTENT);
1044 	REGISTER_LONG_CONSTANT("MYSQLI_OPT_LOCAL_INFILE", MYSQL_OPT_LOCAL_INFILE, CONST_PERSISTENT);
1045 	REGISTER_LONG_CONSTANT("MYSQLI_OPT_LOAD_DATA_LOCAL_DIR", MYSQL_OPT_LOAD_DATA_LOCAL_DIR, CONST_PERSISTENT);
1046 	REGISTER_LONG_CONSTANT("MYSQLI_INIT_COMMAND", MYSQL_INIT_COMMAND, CONST_PERSISTENT);
1047 	REGISTER_LONG_CONSTANT("MYSQLI_OPT_READ_TIMEOUT", MYSQL_OPT_READ_TIMEOUT, CONST_PERSISTENT);
1048 	REGISTER_LONG_CONSTANT("MYSQLI_OPT_NET_CMD_BUFFER_SIZE", MYSQLND_OPT_NET_CMD_BUFFER_SIZE, CONST_PERSISTENT);
1049 	REGISTER_LONG_CONSTANT("MYSQLI_OPT_NET_READ_BUFFER_SIZE", MYSQLND_OPT_NET_READ_BUFFER_SIZE, CONST_PERSISTENT);
1050 	REGISTER_LONG_CONSTANT("MYSQLI_OPT_INT_AND_FLOAT_NATIVE", MYSQLND_OPT_INT_AND_FLOAT_NATIVE, CONST_PERSISTENT);
1051 	REGISTER_LONG_CONSTANT("MYSQLI_OPT_SSL_VERIFY_SERVER_CERT", MYSQL_OPT_SSL_VERIFY_SERVER_CERT, CONST_PERSISTENT);
1052 	REGISTER_LONG_CONSTANT("MYSQLI_SERVER_PUBLIC_KEY", MYSQL_SERVER_PUBLIC_KEY, CONST_PERSISTENT);
1053 	REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_SSL", CLIENT_SSL, CONST_PERSISTENT);
1054 	REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_COMPRESS", CLIENT_COMPRESS, CONST_PERSISTENT);
1055 	REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_INTERACTIVE", CLIENT_INTERACTIVE, CONST_PERSISTENT);
1056 	REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_IGNORE_SPACE", CLIENT_IGNORE_SPACE, CONST_PERSISTENT);
1057 	REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_NO_SCHEMA", CLIENT_NO_SCHEMA, CONST_PERSISTENT);
1058 	REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_FOUND_ROWS", CLIENT_FOUND_ROWS, CONST_PERSISTENT);
1059 #if defined(CLIENT_SSL_VERIFY_SERVER_CERT)
1060 	REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_SSL_VERIFY_SERVER_CERT", CLIENT_SSL_VERIFY_SERVER_CERT, CONST_PERSISTENT);
1061 #endif
1062 #if defined(CLIENT_SSL_VERIFY_SERVER_CERT)
1063 	REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT", CLIENT_SSL_DONT_VERIFY_SERVER_CERT, CONST_PERSISTENT);
1064 #endif
1065 	REGISTER_LONG_CONSTANT("MYSQLI_CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS", CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS, CONST_PERSISTENT);
1066 	REGISTER_LONG_CONSTANT("MYSQLI_OPT_CAN_HANDLE_EXPIRED_PASSWORDS", MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS, CONST_PERSISTENT);
1067 	REGISTER_LONG_CONSTANT("MYSQLI_STORE_RESULT", MYSQLI_STORE_RESULT, CONST_PERSISTENT);
1068 	REGISTER_LONG_CONSTANT("MYSQLI_USE_RESULT", MYSQLI_USE_RESULT, CONST_PERSISTENT);
1069 	REGISTER_LONG_CONSTANT("MYSQLI_ASYNC", MYSQLI_ASYNC, CONST_PERSISTENT);
1070 	REGISTER_LONG_CONSTANT("MYSQLI_STORE_RESULT_COPY_DATA", MYSQLI_STORE_RESULT_COPY_DATA, CONST_PERSISTENT);
1071 	REGISTER_LONG_CONSTANT("MYSQLI_ASSOC", MYSQLI_ASSOC, CONST_PERSISTENT);
1072 	REGISTER_LONG_CONSTANT("MYSQLI_NUM", MYSQLI_NUM, CONST_PERSISTENT);
1073 	REGISTER_LONG_CONSTANT("MYSQLI_BOTH", MYSQLI_BOTH, CONST_PERSISTENT);
1074 	REGISTER_LONG_CONSTANT("MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH", STMT_ATTR_UPDATE_MAX_LENGTH, CONST_PERSISTENT);
1075 	REGISTER_LONG_CONSTANT("MYSQLI_STMT_ATTR_CURSOR_TYPE", STMT_ATTR_CURSOR_TYPE, CONST_PERSISTENT);
1076 	REGISTER_LONG_CONSTANT("MYSQLI_CURSOR_TYPE_NO_CURSOR", CURSOR_TYPE_NO_CURSOR, CONST_PERSISTENT);
1077 	REGISTER_LONG_CONSTANT("MYSQLI_CURSOR_TYPE_READ_ONLY", CURSOR_TYPE_READ_ONLY, CONST_PERSISTENT);
1078 	REGISTER_LONG_CONSTANT("MYSQLI_CURSOR_TYPE_FOR_UPDATE", CURSOR_TYPE_FOR_UPDATE, CONST_PERSISTENT);
1079 	REGISTER_LONG_CONSTANT("MYSQLI_CURSOR_TYPE_SCROLLABLE", CURSOR_TYPE_SCROLLABLE, CONST_PERSISTENT);
1080 	REGISTER_LONG_CONSTANT("MYSQLI_STMT_ATTR_PREFETCH_ROWS", STMT_ATTR_PREFETCH_ROWS, CONST_PERSISTENT);
1081 	REGISTER_LONG_CONSTANT("MYSQLI_NOT_NULL_FLAG", NOT_NULL_FLAG, CONST_PERSISTENT);
1082 	REGISTER_LONG_CONSTANT("MYSQLI_PRI_KEY_FLAG", PRI_KEY_FLAG, CONST_PERSISTENT);
1083 	REGISTER_LONG_CONSTANT("MYSQLI_UNIQUE_KEY_FLAG", UNIQUE_KEY_FLAG, CONST_PERSISTENT);
1084 	REGISTER_LONG_CONSTANT("MYSQLI_MULTIPLE_KEY_FLAG", MULTIPLE_KEY_FLAG, CONST_PERSISTENT);
1085 	REGISTER_LONG_CONSTANT("MYSQLI_BLOB_FLAG", BLOB_FLAG, CONST_PERSISTENT);
1086 	REGISTER_LONG_CONSTANT("MYSQLI_UNSIGNED_FLAG", UNSIGNED_FLAG, CONST_PERSISTENT);
1087 	REGISTER_LONG_CONSTANT("MYSQLI_ZEROFILL_FLAG", ZEROFILL_FLAG, CONST_PERSISTENT);
1088 	REGISTER_LONG_CONSTANT("MYSQLI_AUTO_INCREMENT_FLAG", AUTO_INCREMENT_FLAG, CONST_PERSISTENT);
1089 	REGISTER_LONG_CONSTANT("MYSQLI_TIMESTAMP_FLAG", TIMESTAMP_FLAG, CONST_PERSISTENT);
1090 	REGISTER_LONG_CONSTANT("MYSQLI_SET_FLAG", SET_FLAG, CONST_PERSISTENT);
1091 	REGISTER_LONG_CONSTANT("MYSQLI_NUM_FLAG", NUM_FLAG, CONST_PERSISTENT);
1092 	REGISTER_LONG_CONSTANT("MYSQLI_PART_KEY_FLAG", PART_KEY_FLAG, CONST_PERSISTENT);
1093 	REGISTER_LONG_CONSTANT("MYSQLI_GROUP_FLAG", GROUP_FLAG, CONST_PERSISTENT);
1094 	REGISTER_LONG_CONSTANT("MYSQLI_ENUM_FLAG", ENUM_FLAG, CONST_PERSISTENT);
1095 	REGISTER_LONG_CONSTANT("MYSQLI_BINARY_FLAG", BINARY_FLAG, CONST_PERSISTENT);
1096 	REGISTER_LONG_CONSTANT("MYSQLI_NO_DEFAULT_VALUE_FLAG", NO_DEFAULT_VALUE_FLAG, CONST_PERSISTENT);
1097 	REGISTER_LONG_CONSTANT("MYSQLI_ON_UPDATE_NOW_FLAG", ON_UPDATE_NOW_FLAG, CONST_PERSISTENT);
1098 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_DECIMAL", FIELD_TYPE_DECIMAL, CONST_PERSISTENT);
1099 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_TINY", FIELD_TYPE_TINY, CONST_PERSISTENT);
1100 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_SHORT", FIELD_TYPE_SHORT, CONST_PERSISTENT);
1101 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_LONG", FIELD_TYPE_LONG, CONST_PERSISTENT);
1102 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_FLOAT", FIELD_TYPE_FLOAT, CONST_PERSISTENT);
1103 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_DOUBLE", FIELD_TYPE_DOUBLE, CONST_PERSISTENT);
1104 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_NULL", FIELD_TYPE_NULL, CONST_PERSISTENT);
1105 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_TIMESTAMP", FIELD_TYPE_TIMESTAMP, CONST_PERSISTENT);
1106 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_LONGLONG", FIELD_TYPE_LONGLONG, CONST_PERSISTENT);
1107 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_INT24", FIELD_TYPE_INT24, CONST_PERSISTENT);
1108 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_DATE", FIELD_TYPE_DATE, CONST_PERSISTENT);
1109 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_TIME", FIELD_TYPE_TIME, CONST_PERSISTENT);
1110 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_DATETIME", FIELD_TYPE_DATETIME, CONST_PERSISTENT);
1111 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_YEAR", FIELD_TYPE_YEAR, CONST_PERSISTENT);
1112 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_NEWDATE", FIELD_TYPE_NEWDATE, CONST_PERSISTENT);
1113 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_ENUM", FIELD_TYPE_ENUM, CONST_PERSISTENT);
1114 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_SET", FIELD_TYPE_SET, CONST_PERSISTENT);
1115 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_TINY_BLOB", FIELD_TYPE_TINY_BLOB, CONST_PERSISTENT);
1116 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_MEDIUM_BLOB", FIELD_TYPE_MEDIUM_BLOB, CONST_PERSISTENT);
1117 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_LONG_BLOB", FIELD_TYPE_LONG_BLOB, CONST_PERSISTENT);
1118 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_BLOB", FIELD_TYPE_BLOB, CONST_PERSISTENT);
1119 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_VAR_STRING", FIELD_TYPE_VAR_STRING, CONST_PERSISTENT);
1120 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_STRING", FIELD_TYPE_STRING, CONST_PERSISTENT);
1121 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_CHAR", FIELD_TYPE_CHAR, CONST_PERSISTENT);
1122 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_INTERVAL", FIELD_TYPE_INTERVAL, CONST_PERSISTENT);
1123 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_GEOMETRY", FIELD_TYPE_GEOMETRY, CONST_PERSISTENT);
1124 #if defined(FIELD_TYPE_JSON)
1125 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_JSON", FIELD_TYPE_JSON, CONST_PERSISTENT);
1126 #endif
1127 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_NEWDECIMAL", FIELD_TYPE_NEWDECIMAL, CONST_PERSISTENT);
1128 	REGISTER_LONG_CONSTANT("MYSQLI_TYPE_BIT", FIELD_TYPE_BIT, CONST_PERSISTENT);
1129 	REGISTER_LONG_CONSTANT("MYSQLI_SET_CHARSET_NAME", MYSQL_SET_CHARSET_NAME, CONST_PERSISTENT);
1130 	REGISTER_LONG_CONSTANT("MYSQLI_SET_CHARSET_DIR", MYSQL_SET_CHARSET_DIR, CONST_PERSISTENT);
1131 	REGISTER_LONG_CONSTANT("MYSQLI_NO_DATA", MYSQL_NO_DATA, CONST_PERSISTENT | CONST_DEPRECATED);
1132 #if defined(MYSQL_DATA_TRUNCATED)
1133 	REGISTER_LONG_CONSTANT("MYSQLI_DATA_TRUNCATED", MYSQL_DATA_TRUNCATED, CONST_PERSISTENT | CONST_DEPRECATED);
1134 #endif
1135 	REGISTER_LONG_CONSTANT("MYSQLI_REPORT_INDEX", MYSQLI_REPORT_INDEX, CONST_PERSISTENT);
1136 	REGISTER_LONG_CONSTANT("MYSQLI_REPORT_ERROR", MYSQLI_REPORT_ERROR, CONST_PERSISTENT);
1137 	REGISTER_LONG_CONSTANT("MYSQLI_REPORT_STRICT", MYSQLI_REPORT_STRICT, CONST_PERSISTENT);
1138 	REGISTER_LONG_CONSTANT("MYSQLI_REPORT_ALL", MYSQLI_REPORT_ALL, CONST_PERSISTENT);
1139 	REGISTER_LONG_CONSTANT("MYSQLI_REPORT_OFF", MYSQLI_REPORT_OFF, CONST_PERSISTENT);
1140 	REGISTER_LONG_CONSTANT("MYSQLI_DEBUG_TRACE_ENABLED", MYSQLND_DBG_ENABLED, CONST_PERSISTENT);
1141 	REGISTER_LONG_CONSTANT("MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED", SERVER_QUERY_NO_GOOD_INDEX_USED, CONST_PERSISTENT | CONST_DEPRECATED);
1142 	REGISTER_LONG_CONSTANT("MYSQLI_SERVER_QUERY_NO_INDEX_USED", SERVER_QUERY_NO_INDEX_USED, CONST_PERSISTENT | CONST_DEPRECATED);
1143 #if defined(SERVER_QUERY_WAS_SLOW)
1144 	REGISTER_LONG_CONSTANT("MYSQLI_SERVER_QUERY_WAS_SLOW", SERVER_QUERY_WAS_SLOW, CONST_PERSISTENT | CONST_DEPRECATED);
1145 #endif
1146 #if defined(SERVER_PS_OUT_PARAMS)
1147 	REGISTER_LONG_CONSTANT("MYSQLI_SERVER_PS_OUT_PARAMS", SERVER_PS_OUT_PARAMS, CONST_PERSISTENT | CONST_DEPRECATED);
1148 #endif
1149 	REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_GRANT", REFRESH_GRANT, CONST_PERSISTENT);
1150 	REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_LOG", REFRESH_LOG, CONST_PERSISTENT);
1151 	REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_TABLES", REFRESH_TABLES, CONST_PERSISTENT);
1152 	REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_HOSTS", REFRESH_HOSTS, CONST_PERSISTENT);
1153 	REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_STATUS", REFRESH_STATUS, CONST_PERSISTENT);
1154 	REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_THREADS", REFRESH_THREADS, CONST_PERSISTENT);
1155 	REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_REPLICA", REFRESH_SLAVE, CONST_PERSISTENT);
1156 	REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_SLAVE", REFRESH_SLAVE, CONST_PERSISTENT);
1157 	REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_MASTER", REFRESH_MASTER, CONST_PERSISTENT);
1158 #if defined(REFRESH_BACKUP_LOG)
1159 	REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_BACKUP_LOG", REFRESH_BACKUP_LOG, CONST_PERSISTENT);
1160 #endif
1161 	REGISTER_LONG_CONSTANT("MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT", TRANS_START_WITH_CONSISTENT_SNAPSHOT, CONST_PERSISTENT);
1162 	REGISTER_LONG_CONSTANT("MYSQLI_TRANS_START_READ_WRITE", TRANS_START_READ_WRITE, CONST_PERSISTENT);
1163 	REGISTER_LONG_CONSTANT("MYSQLI_TRANS_START_READ_ONLY", TRANS_START_READ_ONLY, CONST_PERSISTENT);
1164 	REGISTER_LONG_CONSTANT("MYSQLI_TRANS_COR_AND_CHAIN", TRANS_COR_AND_CHAIN, CONST_PERSISTENT);
1165 	REGISTER_LONG_CONSTANT("MYSQLI_TRANS_COR_AND_NO_CHAIN", TRANS_COR_AND_NO_CHAIN, CONST_PERSISTENT);
1166 	REGISTER_LONG_CONSTANT("MYSQLI_TRANS_COR_RELEASE", TRANS_COR_RELEASE, CONST_PERSISTENT);
1167 	REGISTER_LONG_CONSTANT("MYSQLI_TRANS_COR_NO_RELEASE", TRANS_COR_NO_RELEASE, CONST_PERSISTENT);
1168 	REGISTER_BOOL_CONSTANT("MYSQLI_IS_MARIADB", false, CONST_PERSISTENT | CONST_DEPRECATED);
1169 
1170 
1171 	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);
1172 
1173 	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);
1174 
1175 	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);
1176 }
1177 
register_class_mysqli_driver(void)1178 static zend_class_entry *register_class_mysqli_driver(void)
1179 {
1180 	zend_class_entry ce, *class_entry;
1181 
1182 	INIT_CLASS_ENTRY(ce, "mysqli_driver", class_mysqli_driver_methods);
1183 	class_entry = zend_register_internal_class_ex(&ce, NULL);
1184 	class_entry->ce_flags |= ZEND_ACC_FINAL;
1185 
1186 	zval property_client_info_default_value;
1187 	ZVAL_UNDEF(&property_client_info_default_value);
1188 	zend_string *property_client_info_name = zend_string_init("client_info", sizeof("client_info") - 1, 1);
1189 	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));
1190 	zend_string_release(property_client_info_name);
1191 
1192 	zval property_client_version_default_value;
1193 	ZVAL_UNDEF(&property_client_version_default_value);
1194 	zend_string *property_client_version_name = zend_string_init("client_version", sizeof("client_version") - 1, 1);
1195 	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));
1196 	zend_string_release(property_client_version_name);
1197 
1198 	zval property_driver_version_default_value;
1199 	ZVAL_UNDEF(&property_driver_version_default_value);
1200 	zend_string *property_driver_version_name = zend_string_init("driver_version", sizeof("driver_version") - 1, 1);
1201 	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));
1202 	zend_string_release(property_driver_version_name);
1203 
1204 	zval property_report_mode_default_value;
1205 	ZVAL_LONG(&property_report_mode_default_value, 0);
1206 	zend_string *property_report_mode_name = zend_string_init("report_mode", sizeof("report_mode") - 1, 1);
1207 	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));
1208 	zend_string_release(property_report_mode_name);
1209 
1210 	return class_entry;
1211 }
1212 
register_class_mysqli(void)1213 static zend_class_entry *register_class_mysqli(void)
1214 {
1215 	zend_class_entry ce, *class_entry;
1216 
1217 	INIT_CLASS_ENTRY(ce, "mysqli", class_mysqli_methods);
1218 	class_entry = zend_register_internal_class_ex(&ce, NULL);
1219 
1220 	zval property_affected_rows_default_value;
1221 	ZVAL_UNDEF(&property_affected_rows_default_value);
1222 	zend_string *property_affected_rows_name = zend_string_init("affected_rows", sizeof("affected_rows") - 1, 1);
1223 	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));
1224 	zend_string_release(property_affected_rows_name);
1225 
1226 	zval property_client_info_default_value;
1227 	ZVAL_UNDEF(&property_client_info_default_value);
1228 	zend_string *property_client_info_name = zend_string_init("client_info", sizeof("client_info") - 1, 1);
1229 	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));
1230 	zend_string_release(property_client_info_name);
1231 
1232 	zval property_client_version_default_value;
1233 	ZVAL_UNDEF(&property_client_version_default_value);
1234 	zend_string *property_client_version_name = zend_string_init("client_version", sizeof("client_version") - 1, 1);
1235 	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));
1236 	zend_string_release(property_client_version_name);
1237 
1238 	zval property_connect_errno_default_value;
1239 	ZVAL_UNDEF(&property_connect_errno_default_value);
1240 	zend_string *property_connect_errno_name = zend_string_init("connect_errno", sizeof("connect_errno") - 1, 1);
1241 	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));
1242 	zend_string_release(property_connect_errno_name);
1243 
1244 	zval property_connect_error_default_value;
1245 	ZVAL_UNDEF(&property_connect_error_default_value);
1246 	zend_string *property_connect_error_name = zend_string_init("connect_error", sizeof("connect_error") - 1, 1);
1247 	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));
1248 	zend_string_release(property_connect_error_name);
1249 
1250 	zval property_errno_default_value;
1251 	ZVAL_UNDEF(&property_errno_default_value);
1252 	zend_string *property_errno_name = zend_string_init("errno", sizeof("errno") - 1, 1);
1253 	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));
1254 	zend_string_release(property_errno_name);
1255 
1256 	zval property_error_default_value;
1257 	ZVAL_UNDEF(&property_error_default_value);
1258 	zend_string *property_error_name = zend_string_init("error", sizeof("error") - 1, 1);
1259 	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));
1260 	zend_string_release(property_error_name);
1261 
1262 	zval property_error_list_default_value;
1263 	ZVAL_UNDEF(&property_error_list_default_value);
1264 	zend_string *property_error_list_name = zend_string_init("error_list", sizeof("error_list") - 1, 1);
1265 	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));
1266 	zend_string_release(property_error_list_name);
1267 
1268 	zval property_field_count_default_value;
1269 	ZVAL_UNDEF(&property_field_count_default_value);
1270 	zend_string *property_field_count_name = zend_string_init("field_count", sizeof("field_count") - 1, 1);
1271 	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));
1272 	zend_string_release(property_field_count_name);
1273 
1274 	zval property_host_info_default_value;
1275 	ZVAL_UNDEF(&property_host_info_default_value);
1276 	zend_string *property_host_info_name = zend_string_init("host_info", sizeof("host_info") - 1, 1);
1277 	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));
1278 	zend_string_release(property_host_info_name);
1279 
1280 	zval property_info_default_value;
1281 	ZVAL_UNDEF(&property_info_default_value);
1282 	zend_string *property_info_name = zend_string_init("info", sizeof("info") - 1, 1);
1283 	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));
1284 	zend_string_release(property_info_name);
1285 
1286 	zval property_insert_id_default_value;
1287 	ZVAL_UNDEF(&property_insert_id_default_value);
1288 	zend_string *property_insert_id_name = zend_string_init("insert_id", sizeof("insert_id") - 1, 1);
1289 	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));
1290 	zend_string_release(property_insert_id_name);
1291 
1292 	zval property_server_info_default_value;
1293 	ZVAL_UNDEF(&property_server_info_default_value);
1294 	zend_string *property_server_info_name = zend_string_init("server_info", sizeof("server_info") - 1, 1);
1295 	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));
1296 	zend_string_release(property_server_info_name);
1297 
1298 	zval property_server_version_default_value;
1299 	ZVAL_UNDEF(&property_server_version_default_value);
1300 	zend_string *property_server_version_name = zend_string_init("server_version", sizeof("server_version") - 1, 1);
1301 	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));
1302 	zend_string_release(property_server_version_name);
1303 
1304 	zval property_sqlstate_default_value;
1305 	ZVAL_UNDEF(&property_sqlstate_default_value);
1306 	zend_string *property_sqlstate_name = zend_string_init("sqlstate", sizeof("sqlstate") - 1, 1);
1307 	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));
1308 	zend_string_release(property_sqlstate_name);
1309 
1310 	zval property_protocol_version_default_value;
1311 	ZVAL_UNDEF(&property_protocol_version_default_value);
1312 	zend_string *property_protocol_version_name = zend_string_init("protocol_version", sizeof("protocol_version") - 1, 1);
1313 	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));
1314 	zend_string_release(property_protocol_version_name);
1315 
1316 	zval property_thread_id_default_value;
1317 	ZVAL_UNDEF(&property_thread_id_default_value);
1318 	zend_string *property_thread_id_name = zend_string_init("thread_id", sizeof("thread_id") - 1, 1);
1319 	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));
1320 	zend_string_release(property_thread_id_name);
1321 
1322 	zval property_warning_count_default_value;
1323 	ZVAL_UNDEF(&property_warning_count_default_value);
1324 	zend_string *property_warning_count_name = zend_string_init("warning_count", sizeof("warning_count") - 1, 1);
1325 	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));
1326 	zend_string_release(property_warning_count_name);
1327 
1328 
1329 	zend_add_parameter_attribute(zend_hash_str_find_ptr(&class_entry->function_table, "__construct", sizeof("__construct") - 1), 2, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
1330 
1331 	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);
1332 
1333 	zend_add_parameter_attribute(zend_hash_str_find_ptr(&class_entry->function_table, "connect", sizeof("connect") - 1), 2, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
1334 
1335 	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);
1336 
1337 	return class_entry;
1338 }
1339 
register_class_mysqli_result(zend_class_entry * class_entry_IteratorAggregate)1340 static zend_class_entry *register_class_mysqli_result(zend_class_entry *class_entry_IteratorAggregate)
1341 {
1342 	zend_class_entry ce, *class_entry;
1343 
1344 	INIT_CLASS_ENTRY(ce, "mysqli_result", class_mysqli_result_methods);
1345 	class_entry = zend_register_internal_class_ex(&ce, NULL);
1346 	zend_class_implements(class_entry, 1, class_entry_IteratorAggregate);
1347 
1348 	zval property_current_field_default_value;
1349 	ZVAL_UNDEF(&property_current_field_default_value);
1350 	zend_string *property_current_field_name = zend_string_init("current_field", sizeof("current_field") - 1, 1);
1351 	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));
1352 	zend_string_release(property_current_field_name);
1353 
1354 	zval property_field_count_default_value;
1355 	ZVAL_UNDEF(&property_field_count_default_value);
1356 	zend_string *property_field_count_name = zend_string_init("field_count", sizeof("field_count") - 1, 1);
1357 	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));
1358 	zend_string_release(property_field_count_name);
1359 
1360 	zval property_lengths_default_value;
1361 	ZVAL_UNDEF(&property_lengths_default_value);
1362 	zend_string *property_lengths_name = zend_string_init("lengths", sizeof("lengths") - 1, 1);
1363 	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));
1364 	zend_string_release(property_lengths_name);
1365 
1366 	zval property_num_rows_default_value;
1367 	ZVAL_UNDEF(&property_num_rows_default_value);
1368 	zend_string *property_num_rows_name = zend_string_init("num_rows", sizeof("num_rows") - 1, 1);
1369 	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));
1370 	zend_string_release(property_num_rows_name);
1371 
1372 	zval property_type_default_value;
1373 	ZVAL_UNDEF(&property_type_default_value);
1374 	zend_string *property_type_name = zend_string_init("type", sizeof("type") - 1, 1);
1375 	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));
1376 	zend_string_release(property_type_name);
1377 
1378 	return class_entry;
1379 }
1380 
register_class_mysqli_stmt(void)1381 static zend_class_entry *register_class_mysqli_stmt(void)
1382 {
1383 	zend_class_entry ce, *class_entry;
1384 
1385 	INIT_CLASS_ENTRY(ce, "mysqli_stmt", class_mysqli_stmt_methods);
1386 	class_entry = zend_register_internal_class_ex(&ce, NULL);
1387 
1388 	zval property_affected_rows_default_value;
1389 	ZVAL_UNDEF(&property_affected_rows_default_value);
1390 	zend_string *property_affected_rows_name = zend_string_init("affected_rows", sizeof("affected_rows") - 1, 1);
1391 	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));
1392 	zend_string_release(property_affected_rows_name);
1393 
1394 	zval property_insert_id_default_value;
1395 	ZVAL_UNDEF(&property_insert_id_default_value);
1396 	zend_string *property_insert_id_name = zend_string_init("insert_id", sizeof("insert_id") - 1, 1);
1397 	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));
1398 	zend_string_release(property_insert_id_name);
1399 
1400 	zval property_num_rows_default_value;
1401 	ZVAL_UNDEF(&property_num_rows_default_value);
1402 	zend_string *property_num_rows_name = zend_string_init("num_rows", sizeof("num_rows") - 1, 1);
1403 	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));
1404 	zend_string_release(property_num_rows_name);
1405 
1406 	zval property_param_count_default_value;
1407 	ZVAL_UNDEF(&property_param_count_default_value);
1408 	zend_string *property_param_count_name = zend_string_init("param_count", sizeof("param_count") - 1, 1);
1409 	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));
1410 	zend_string_release(property_param_count_name);
1411 
1412 	zval property_field_count_default_value;
1413 	ZVAL_UNDEF(&property_field_count_default_value);
1414 	zend_string *property_field_count_name = zend_string_init("field_count", sizeof("field_count") - 1, 1);
1415 	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));
1416 	zend_string_release(property_field_count_name);
1417 
1418 	zval property_errno_default_value;
1419 	ZVAL_UNDEF(&property_errno_default_value);
1420 	zend_string *property_errno_name = zend_string_init("errno", sizeof("errno") - 1, 1);
1421 	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));
1422 	zend_string_release(property_errno_name);
1423 
1424 	zval property_error_default_value;
1425 	ZVAL_UNDEF(&property_error_default_value);
1426 	zend_string *property_error_name = zend_string_init("error", sizeof("error") - 1, 1);
1427 	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));
1428 	zend_string_release(property_error_name);
1429 
1430 	zval property_error_list_default_value;
1431 	ZVAL_UNDEF(&property_error_list_default_value);
1432 	zend_string *property_error_list_name = zend_string_init("error_list", sizeof("error_list") - 1, 1);
1433 	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));
1434 	zend_string_release(property_error_list_name);
1435 
1436 	zval property_sqlstate_default_value;
1437 	ZVAL_UNDEF(&property_sqlstate_default_value);
1438 	zend_string *property_sqlstate_name = zend_string_init("sqlstate", sizeof("sqlstate") - 1, 1);
1439 	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));
1440 	zend_string_release(property_sqlstate_name);
1441 
1442 	zval property_id_default_value;
1443 	ZVAL_UNDEF(&property_id_default_value);
1444 	zend_string *property_id_name = zend_string_init("id", sizeof("id") - 1, 1);
1445 	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));
1446 	zend_string_release(property_id_name);
1447 
1448 	return class_entry;
1449 }
1450 
register_class_mysqli_warning(void)1451 static zend_class_entry *register_class_mysqli_warning(void)
1452 {
1453 	zend_class_entry ce, *class_entry;
1454 
1455 	INIT_CLASS_ENTRY(ce, "mysqli_warning", class_mysqli_warning_methods);
1456 	class_entry = zend_register_internal_class_ex(&ce, NULL);
1457 	class_entry->ce_flags |= ZEND_ACC_FINAL;
1458 
1459 	zval property_message_default_value;
1460 	ZVAL_UNDEF(&property_message_default_value);
1461 	zend_string *property_message_name = zend_string_init("message", sizeof("message") - 1, 1);
1462 	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));
1463 	zend_string_release(property_message_name);
1464 
1465 	zval property_sqlstate_default_value;
1466 	ZVAL_UNDEF(&property_sqlstate_default_value);
1467 	zend_string *property_sqlstate_name = zend_string_init("sqlstate", sizeof("sqlstate") - 1, 1);
1468 	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));
1469 	zend_string_release(property_sqlstate_name);
1470 
1471 	zval property_errno_default_value;
1472 	ZVAL_UNDEF(&property_errno_default_value);
1473 	zend_string *property_errno_name = zend_string_init("errno", sizeof("errno") - 1, 1);
1474 	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));
1475 	zend_string_release(property_errno_name);
1476 
1477 	return class_entry;
1478 }
1479 
register_class_mysqli_sql_exception(zend_class_entry * class_entry_RuntimeException)1480 static zend_class_entry *register_class_mysqli_sql_exception(zend_class_entry *class_entry_RuntimeException)
1481 {
1482 	zend_class_entry ce, *class_entry;
1483 
1484 	INIT_CLASS_ENTRY(ce, "mysqli_sql_exception", class_mysqli_sql_exception_methods);
1485 	class_entry = zend_register_internal_class_ex(&ce, class_entry_RuntimeException);
1486 	class_entry->ce_flags |= ZEND_ACC_FINAL;
1487 
1488 	zval property_sqlstate_default_value;
1489 	zend_string *property_sqlstate_default_value_str = zend_string_init("00000", strlen("00000"), 1);
1490 	ZVAL_STR(&property_sqlstate_default_value, property_sqlstate_default_value_str);
1491 	zend_string *property_sqlstate_name = zend_string_init("sqlstate", sizeof("sqlstate") - 1, 1);
1492 	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));
1493 	zend_string_release(property_sqlstate_name);
1494 
1495 	return class_entry;
1496 }
1497