1 /* 2 +----------------------------------------------------------------------+ 3 | PHP Version 5 | 4 +----------------------------------------------------------------------+ 5 | Copyright (c) 1997-2015 The PHP Group | 6 +----------------------------------------------------------------------+ 7 | This source file is subject to version 3.01 of the PHP license, | 8 | that is bundled with this package in the file LICENSE, and is | 9 | available through the world-wide-web at the following url: | 10 | http://www.php.net/license/3_01.txt | 11 | If you did not receive a copy of the PHP license and are unable to | 12 | obtain it through the world-wide-web, please send a note to | 13 | license@php.net so we can mail you a copy immediately. | 14 +----------------------------------------------------------------------+ 15 | Authors: Georg Richter <georg@php.net> | 16 | Andrey Hristov <andrey@php.net> | 17 | Ulf Wendel <uw@php.net> | 18 +----------------------------------------------------------------------+ 19 20 $Id$ 21 */ 22 23 #ifdef HAVE_CONFIG_H 24 #include "config.h" 25 #endif 26 27 #include <signal.h> 28 29 #include "php.h" 30 #include "php_ini.h" 31 #include "ext/standard/info.h" 32 #include "php_mysqli_structs.h" 33 #include "mysqli_fe.h" 34 #include "mysqli_priv.h" 35 36 #ifdef MYSQLI_USE_FULL_TYPED_ARGINFO_0 37 #define MYSQLI_ZEND_ARG_OBJ_INFO_LINK() ZEND_ARG_OBJ_INFO(0, link, mysqli, 0) 38 #define MYSQLI_ZEND_ARG_OBJ_INFO_RESULT() ZEND_ARG_OBJ_INFO(0, result, mysqli_result, 0) 39 #define MYSQLI_ZEND_ARG_OBJ_INFO_STMT() ZEND_ARG_OBJ_INFO(0, stmt, mysqli_stmt, 0) 40 #else 41 #define MYSQLI_ZEND_ARG_OBJ_INFO_LINK() ZEND_ARG_INFO(0, link) 42 #define MYSQLI_ZEND_ARG_OBJ_INFO_RESULT() ZEND_ARG_INFO(0, result) 43 #define MYSQLI_ZEND_ARG_OBJ_INFO_STMT() ZEND_ARG_INFO(0, stmt) 44 #endif 45 46 ZEND_BEGIN_ARG_INFO(arginfo_mysqli_stmt_bind_result, 1) 47 MYSQLI_ZEND_ARG_OBJ_INFO_STMT() 48 ZEND_END_ARG_INFO() 49 50 ZEND_BEGIN_ARG_INFO(arginfo_mysqli_stmt_bind_param, 1) 51 MYSQLI_ZEND_ARG_OBJ_INFO_STMT() 52 ZEND_ARG_INFO(0, types) 53 ZEND_END_ARG_INFO() 54 55 ZEND_BEGIN_ARG_INFO(arginfo_class_mysqli_stmt_bind_result, 1) 56 ZEND_END_ARG_INFO() 57 58 ZEND_BEGIN_ARG_INFO(arginfo_class_mysqli_stmt_bind_param, 1) 59 ZEND_ARG_INFO(0, types) 60 ZEND_END_ARG_INFO() 61 62 ZEND_BEGIN_ARG_INFO(all_args_force_by_ref, 1) 63 ZEND_END_ARG_INFO() 64 65 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_poll, 0, 0, 4) 66 ZEND_ARG_ARRAY_INFO(1, read, 1) 67 ZEND_ARG_ARRAY_INFO(1, write, 1) 68 ZEND_ARG_ARRAY_INFO(1, error, 1) 69 ZEND_ARG_INFO(0, sec) 70 ZEND_ARG_INFO(0, usec) 71 ZEND_END_ARG_INFO() 72 73 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_no_params, 0, 0, 0) 74 ZEND_END_ARG_INFO() 75 76 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_only_link, 0, 0, 1) 77 MYSQLI_ZEND_ARG_OBJ_INFO_LINK() 78 ZEND_END_ARG_INFO() 79 80 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_autocommit, 0, 0, 2) 81 MYSQLI_ZEND_ARG_OBJ_INFO_LINK() 82 ZEND_ARG_INFO(0, mode) 83 ZEND_END_ARG_INFO() 84 85 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_autocommit, 0, 0, 1) 86 ZEND_ARG_INFO(0, mode) 87 ZEND_END_ARG_INFO() 88 89 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_begin_transaction, 0, 0, 1) 90 MYSQLI_ZEND_ARG_OBJ_INFO_LINK() 91 ZEND_ARG_INFO(0, flags) 92 ZEND_ARG_INFO(0, name) 93 ZEND_END_ARG_INFO() 94 95 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_begin_transaction, 0, 0, 0) 96 ZEND_ARG_INFO(0, flags) 97 ZEND_ARG_INFO(0, name) 98 ZEND_END_ARG_INFO() 99 100 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_savepoint, 0, 0, 2) 101 MYSQLI_ZEND_ARG_OBJ_INFO_LINK() 102 ZEND_ARG_INFO(0, name) 103 ZEND_END_ARG_INFO() 104 105 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_savepoint, 0, 0, 1) 106 ZEND_ARG_INFO(0, name) 107 ZEND_END_ARG_INFO() 108 109 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_release_savepoint, 0, 0, 2) 110 MYSQLI_ZEND_ARG_OBJ_INFO_LINK() 111 ZEND_ARG_INFO(0, name) 112 ZEND_END_ARG_INFO() 113 114 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_release_savepoint, 0, 0, 1) 115 ZEND_ARG_INFO(0, name) 116 ZEND_END_ARG_INFO() 117 118 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_commit, 0, 0, 1) 119 MYSQLI_ZEND_ARG_OBJ_INFO_LINK() 120 ZEND_ARG_INFO(0, flags) 121 ZEND_ARG_INFO(0, name) 122 ZEND_END_ARG_INFO() 123 124 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_commit, 0, 0, 0) 125 ZEND_ARG_INFO(0, flags) 126 ZEND_ARG_INFO(0, name) 127 ZEND_END_ARG_INFO() 128 129 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_rollback, 0, 0, 1) 130 MYSQLI_ZEND_ARG_OBJ_INFO_LINK() 131 ZEND_ARG_INFO(0, flags) 132 ZEND_ARG_INFO(0, name) 133 ZEND_END_ARG_INFO() 134 135 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_rollback, 0, 0, 0) 136 ZEND_ARG_INFO(0, flags) 137 ZEND_ARG_INFO(0, name) 138 ZEND_END_ARG_INFO() 139 140 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_change_user, 0, 0, 4) 141 MYSQLI_ZEND_ARG_OBJ_INFO_LINK() 142 ZEND_ARG_INFO(0, user) 143 ZEND_ARG_INFO(0, password) 144 ZEND_ARG_INFO(0, database) 145 ZEND_END_ARG_INFO() 146 147 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_change_user, 0, 0, 3) 148 ZEND_ARG_INFO(0, user) 149 ZEND_ARG_INFO(0, password) 150 ZEND_ARG_INFO(0, database) 151 ZEND_END_ARG_INFO() 152 153 154 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_connect, 0, 0, 0) 155 ZEND_ARG_INFO(0, host) 156 ZEND_ARG_INFO(0, user) 157 ZEND_ARG_INFO(0, password) 158 ZEND_ARG_INFO(0, database) 159 ZEND_ARG_INFO(0, port) 160 ZEND_ARG_INFO(0, socket) 161 ZEND_END_ARG_INFO() 162 163 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_real_connect, 0, 0, 1) 164 MYSQLI_ZEND_ARG_OBJ_INFO_LINK() 165 ZEND_ARG_INFO(0, host) 166 ZEND_ARG_INFO(0, user) 167 ZEND_ARG_INFO(0, password) 168 ZEND_ARG_INFO(0, database) 169 ZEND_ARG_INFO(0, port) 170 ZEND_ARG_INFO(0, socket) 171 ZEND_ARG_INFO(0, flags) 172 ZEND_END_ARG_INFO() 173 174 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_real_connect, 0, 0, 0) 175 ZEND_ARG_INFO(0, host) 176 ZEND_ARG_INFO(0, user) 177 ZEND_ARG_INFO(0, password) 178 ZEND_ARG_INFO(0, database) 179 ZEND_ARG_INFO(0, port) 180 ZEND_ARG_INFO(0, socket) 181 ZEND_ARG_INFO(0, flags) 182 ZEND_END_ARG_INFO() 183 184 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_only_result, 0, 0, 1) 185 MYSQLI_ZEND_ARG_OBJ_INFO_RESULT() 186 ZEND_END_ARG_INFO() 187 188 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_only_statement, 0, 0, 1) 189 MYSQLI_ZEND_ARG_OBJ_INFO_STMT() 190 ZEND_END_ARG_INFO() 191 192 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_data_seek, 0, 0, 2) 193 MYSQLI_ZEND_ARG_OBJ_INFO_RESULT() 194 ZEND_ARG_INFO(0, offset) 195 ZEND_END_ARG_INFO() 196 197 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_stmt_data_seek, 0, 0, 2) 198 MYSQLI_ZEND_ARG_OBJ_INFO_STMT() 199 ZEND_ARG_INFO(0, offset) 200 ZEND_END_ARG_INFO() 201 202 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_data_seek, 0, 0, 1) 203 ZEND_ARG_INFO(0, offset) 204 ZEND_END_ARG_INFO() 205 206 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_debug, 0, 0, 1) 207 ZEND_ARG_INFO(0, debug_options) 208 ZEND_END_ARG_INFO() 209 210 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_result_and_fieldnr, 0, 0, 2) 211 MYSQLI_ZEND_ARG_OBJ_INFO_RESULT() 212 ZEND_ARG_INFO(0, field_nr) 213 ZEND_END_ARG_INFO() 214 215 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_result_and_fieldnr, 0, 0, 1) 216 ZEND_ARG_INFO(0, field_nr) 217 ZEND_END_ARG_INFO() 218 219 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_fetch_array, 0, 0, 1) 220 MYSQLI_ZEND_ARG_OBJ_INFO_RESULT() 221 ZEND_ARG_INFO(0, result_type) 222 ZEND_END_ARG_INFO() 223 224 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_fetch_array, 0, 0, 0) 225 ZEND_ARG_INFO(0, result_type) 226 ZEND_END_ARG_INFO() 227 228 229 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_fetch_object, 0, 0, 1) 230 #if PHP_VERSION_ID > 50399 231 MYSQLI_ZEND_ARG_OBJ_INFO_RESULT() 232 ZEND_ARG_INFO(0, class_name) 233 ZEND_ARG_ARRAY_INFO(0, params, 0) 234 #endif 235 ZEND_END_ARG_INFO() 236 237 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_fetch_object, 0, 0, 0) 238 #if PHP_VERSION_ID > 50399 239 ZEND_ARG_INFO(0, class_name) 240 ZEND_ARG_ARRAY_INFO(0, params, 0) 241 #endif 242 ZEND_END_ARG_INFO() 243 244 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_kill, 0, 0, 2) 245 MYSQLI_ZEND_ARG_OBJ_INFO_LINK() 246 ZEND_ARG_INFO(0, connection_id) 247 ZEND_END_ARG_INFO() 248 249 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_kill, 0, 0, 1) 250 ZEND_ARG_INFO(0, connection_id) 251 ZEND_END_ARG_INFO() 252 253 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_query, 0, 0, 2) 254 MYSQLI_ZEND_ARG_OBJ_INFO_LINK() 255 ZEND_ARG_INFO(0, query) 256 ZEND_END_ARG_INFO() 257 258 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_prepare, 0, 0, 2) 259 MYSQLI_ZEND_ARG_OBJ_INFO_LINK() 260 ZEND_ARG_INFO(0, query) 261 ZEND_END_ARG_INFO() 262 263 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_stmt_prepare, 0, 0, 2) 264 MYSQLI_ZEND_ARG_OBJ_INFO_STMT() 265 ZEND_ARG_INFO(0, query) 266 ZEND_END_ARG_INFO() 267 268 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_query, 0, 0, 1) 269 ZEND_ARG_INFO(0, query) 270 ZEND_END_ARG_INFO() 271 272 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_options, 0, 0, 3) 273 MYSQLI_ZEND_ARG_OBJ_INFO_LINK() 274 ZEND_ARG_INFO(0, option) 275 ZEND_ARG_INFO(0, value) 276 ZEND_END_ARG_INFO() 277 278 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_options, 0, 0, 2) 279 ZEND_ARG_INFO(0, option) 280 ZEND_ARG_INFO(0, value) 281 ZEND_END_ARG_INFO() 282 283 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_report, 0, 0, 1) 284 ZEND_ARG_INFO(0, flags) 285 ZEND_END_ARG_INFO() 286 287 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_real_escape_string, 0, 0, 2) 288 MYSQLI_ZEND_ARG_OBJ_INFO_LINK() 289 ZEND_ARG_INFO(0, string_to_escape) 290 ZEND_END_ARG_INFO() 291 292 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_real_escape_string, 0, 0, 1) 293 ZEND_ARG_INFO(0, string_to_escape) 294 ZEND_END_ARG_INFO() 295 296 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_select_db, 0, 0, 2) 297 MYSQLI_ZEND_ARG_OBJ_INFO_LINK() 298 ZEND_ARG_INFO(0, database) 299 ZEND_END_ARG_INFO() 300 301 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_select_db, 0, 0, 1) 302 ZEND_ARG_INFO(0, database) 303 ZEND_END_ARG_INFO() 304 305 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_set_charset, 0, 0, 2) 306 MYSQLI_ZEND_ARG_OBJ_INFO_LINK() 307 ZEND_ARG_INFO(0, charset) 308 ZEND_END_ARG_INFO() 309 310 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_set_charset, 0, 0, 1) 311 ZEND_ARG_INFO(0, charset) 312 ZEND_END_ARG_INFO() 313 314 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_stmt_attr_get, 0, 0, 2) 315 MYSQLI_ZEND_ARG_OBJ_INFO_STMT() 316 ZEND_ARG_INFO(0, attribute) 317 ZEND_END_ARG_INFO() 318 319 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_stmt_attr_get, 0, 0, 1) 320 ZEND_ARG_INFO(0, attribute) 321 ZEND_END_ARG_INFO() 322 323 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_stmt_attr_set, 0, 0, 3) 324 MYSQLI_ZEND_ARG_OBJ_INFO_STMT() 325 ZEND_ARG_INFO(0, attribute) 326 ZEND_ARG_INFO(0, value) 327 ZEND_END_ARG_INFO() 328 329 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_stmt_attr_set, 0, 0, 2) 330 ZEND_ARG_INFO(0, attribute) 331 ZEND_ARG_INFO(0, value) 332 ZEND_END_ARG_INFO() 333 334 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_stmt_send_long_data, 0, 0, 3) 335 MYSQLI_ZEND_ARG_OBJ_INFO_STMT() 336 ZEND_ARG_INFO(0, param_nr) 337 ZEND_ARG_INFO(0, data) 338 ZEND_END_ARG_INFO() 339 340 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_stmt_send_long_data, 0, 0, 2) 341 ZEND_ARG_INFO(0, param_nr) 342 ZEND_ARG_INFO(0, data) 343 ZEND_END_ARG_INFO() 344 345 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_ssl_set, 0, 0, 6) 346 MYSQLI_ZEND_ARG_OBJ_INFO_LINK() 347 ZEND_ARG_INFO(0, key) 348 ZEND_ARG_INFO(0, cert) 349 ZEND_ARG_INFO(0, certificate_authority) 350 ZEND_ARG_INFO(0, certificate_authority_path) 351 ZEND_ARG_INFO(0, cipher) 352 ZEND_END_ARG_INFO() 353 354 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_ssl_set, 0, 0, 5) 355 ZEND_ARG_INFO(0, key) 356 ZEND_ARG_INFO(0, cert) 357 ZEND_ARG_INFO(0, certificate_authority) 358 ZEND_ARG_INFO(0, certificate_authority_path) 359 ZEND_ARG_INFO(0, cipher) 360 ZEND_END_ARG_INFO() 361 362 ZEND_BEGIN_ARG_INFO_EX(arginfo_mysqli_refresh, 0, 0, 2) 363 MYSQLI_ZEND_ARG_OBJ_INFO_LINK() 364 ZEND_ARG_INFO(0, options) 365 ZEND_END_ARG_INFO() 366 367 ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_refresh, 0, 0, 1) 368 ZEND_ARG_INFO(0, options) 369 ZEND_END_ARG_INFO() 370 371 372 /* {{{ mysqli_functions[] 373 * 374 * Every user visible function must have an entry in mysqli_functions[]. 375 */ 376 const zend_function_entry mysqli_functions[] = { 377 PHP_FE(mysqli_affected_rows, arginfo_mysqli_only_link) 378 PHP_FE(mysqli_autocommit, arginfo_mysqli_autocommit) 379 PHP_FE(mysqli_begin_transaction, arginfo_mysqli_begin_transaction) 380 PHP_FE(mysqli_change_user, arginfo_mysqli_change_user) 381 PHP_FE(mysqli_character_set_name, arginfo_mysqli_only_link) 382 PHP_FE(mysqli_close, arginfo_mysqli_only_link) 383 PHP_FE(mysqli_commit, arginfo_mysqli_commit) 384 PHP_FE(mysqli_connect, arginfo_mysqli_connect) 385 PHP_FE(mysqli_connect_errno, arginfo_mysqli_no_params) 386 PHP_FE(mysqli_connect_error, arginfo_mysqli_no_params) 387 PHP_FE(mysqli_data_seek, arginfo_mysqli_data_seek) 388 PHP_FE(mysqli_dump_debug_info, arginfo_mysqli_only_link) 389 PHP_FE(mysqli_debug, arginfo_mysqli_debug) 390 #if defined(HAVE_EMBEDDED_MYSQLI) 391 PHP_FE(mysqli_embedded_server_end, NULL) 392 PHP_FE(mysqli_embedded_server_start, NULL) 393 #endif 394 PHP_FE(mysqli_errno, arginfo_mysqli_only_link) 395 PHP_FE(mysqli_error, arginfo_mysqli_only_link) 396 PHP_FE(mysqli_error_list, arginfo_mysqli_only_link) 397 PHP_FE(mysqli_stmt_execute, arginfo_mysqli_only_statement) 398 PHP_FALIAS(mysqli_execute, mysqli_stmt_execute, arginfo_mysqli_only_statement) 399 PHP_FE(mysqli_fetch_field, arginfo_mysqli_only_result) 400 PHP_FE(mysqli_fetch_fields, arginfo_mysqli_only_result) 401 PHP_FE(mysqli_fetch_field_direct, arginfo_mysqli_result_and_fieldnr) 402 PHP_FE(mysqli_fetch_lengths, arginfo_mysqli_only_result) 403 #ifdef MYSQLI_USE_MYSQLND 404 PHP_FE(mysqli_fetch_all, arginfo_mysqli_only_result) 405 #endif 406 PHP_FE(mysqli_fetch_array, arginfo_mysqli_fetch_array) 407 PHP_FE(mysqli_fetch_assoc, arginfo_mysqli_only_result) 408 PHP_FE(mysqli_fetch_object, arginfo_mysqli_fetch_object) 409 PHP_FE(mysqli_fetch_row, arginfo_mysqli_only_result) 410 PHP_FE(mysqli_field_count, arginfo_mysqli_only_link) 411 PHP_FE(mysqli_field_seek, arginfo_mysqli_result_and_fieldnr) 412 PHP_FE(mysqli_field_tell, arginfo_mysqli_only_result) 413 PHP_FE(mysqli_free_result, arginfo_mysqli_only_result) 414 #if defined(MYSQLI_USE_MYSQLND) 415 PHP_FE(mysqli_get_connection_stats, arginfo_mysqli_only_link) 416 PHP_FE(mysqli_get_client_stats, arginfo_mysqli_no_params) 417 #endif 418 #ifdef HAVE_MYSQLI_GET_CHARSET 419 PHP_FE(mysqli_get_charset, arginfo_mysqli_only_link) 420 #endif 421 PHP_FE(mysqli_get_client_info, arginfo_mysqli_only_link) 422 PHP_FE(mysqli_get_client_version, arginfo_mysqli_only_link) 423 PHP_FE(mysqli_get_host_info, arginfo_mysqli_only_link) 424 PHP_FE(mysqli_get_proto_info, arginfo_mysqli_only_link) 425 PHP_FE(mysqli_get_server_info, arginfo_mysqli_only_link) 426 PHP_FE(mysqli_get_server_version, arginfo_mysqli_only_link) 427 PHP_FE(mysqli_get_warnings, arginfo_mysqli_only_link) 428 PHP_FE(mysqli_init, arginfo_mysqli_no_params) 429 PHP_FE(mysqli_info, arginfo_mysqli_only_link) 430 PHP_FE(mysqli_insert_id, arginfo_mysqli_only_link) 431 PHP_FE(mysqli_kill, arginfo_mysqli_kill) 432 PHP_FE(mysqli_more_results, arginfo_mysqli_only_link) 433 PHP_FE(mysqli_multi_query, arginfo_mysqli_query) 434 PHP_FE(mysqli_next_result, arginfo_mysqli_only_link) 435 PHP_FE(mysqli_num_fields, arginfo_mysqli_only_result) 436 PHP_FE(mysqli_num_rows, arginfo_mysqli_only_result) 437 PHP_FE(mysqli_options, arginfo_mysqli_options) 438 PHP_FE(mysqli_ping, arginfo_mysqli_only_link) 439 #if defined(MYSQLI_USE_MYSQLND) 440 PHP_FE(mysqli_poll, arginfo_mysqli_poll) 441 #endif 442 PHP_FE(mysqli_prepare, arginfo_mysqli_prepare) 443 PHP_FE(mysqli_report, arginfo_mysqli_report) 444 PHP_FE(mysqli_query, arginfo_mysqli_query) 445 PHP_FE(mysqli_real_connect, arginfo_mysqli_real_connect) 446 PHP_FE(mysqli_real_escape_string, arginfo_mysqli_real_escape_string) 447 PHP_FE(mysqli_real_query, arginfo_mysqli_query) 448 #if defined(MYSQLI_USE_MYSQLND) 449 PHP_FE(mysqli_reap_async_query, arginfo_mysqli_only_link) 450 #endif 451 PHP_FE(mysqli_release_savepoint, arginfo_mysqli_release_savepoint) 452 PHP_FE(mysqli_rollback, arginfo_mysqli_rollback) 453 PHP_FE(mysqli_savepoint, arginfo_mysqli_savepoint) 454 PHP_FE(mysqli_select_db, arginfo_mysqli_select_db) 455 #ifdef HAVE_MYSQLI_SET_CHARSET 456 PHP_FE(mysqli_set_charset, arginfo_mysqli_set_charset) 457 #endif 458 PHP_FE(mysqli_stmt_affected_rows, arginfo_mysqli_only_statement) 459 PHP_FE(mysqli_stmt_attr_get, arginfo_mysqli_stmt_attr_get) 460 PHP_FE(mysqli_stmt_attr_set, arginfo_mysqli_stmt_attr_set) 461 PHP_FE(mysqli_stmt_bind_param, arginfo_mysqli_stmt_bind_param) 462 PHP_FE(mysqli_stmt_bind_result, arginfo_mysqli_stmt_bind_result) 463 PHP_FE(mysqli_stmt_close, arginfo_mysqli_only_statement) 464 PHP_FE(mysqli_stmt_data_seek, arginfo_mysqli_stmt_data_seek) 465 PHP_FE(mysqli_stmt_errno, arginfo_mysqli_only_statement) 466 PHP_FE(mysqli_stmt_error, arginfo_mysqli_only_statement) 467 PHP_FE(mysqli_stmt_error_list, arginfo_mysqli_only_statement) 468 PHP_FE(mysqli_stmt_fetch, arginfo_mysqli_only_statement) 469 PHP_FE(mysqli_stmt_field_count, arginfo_mysqli_only_statement) 470 PHP_FE(mysqli_stmt_free_result, arginfo_mysqli_only_statement) 471 #if defined(MYSQLI_USE_MYSQLND) 472 PHP_FE(mysqli_stmt_get_result, arginfo_mysqli_only_statement) 473 #endif 474 PHP_FE(mysqli_stmt_get_warnings, arginfo_mysqli_only_statement) 475 PHP_FE(mysqli_stmt_init, arginfo_mysqli_only_link) 476 PHP_FE(mysqli_stmt_insert_id, arginfo_mysqli_only_statement) 477 #if defined(MYSQLI_USE_MYSQLND) 478 PHP_FE(mysqli_stmt_more_results, arginfo_mysqli_only_statement) 479 PHP_FE(mysqli_stmt_next_result, arginfo_mysqli_only_statement) 480 #endif 481 PHP_FE(mysqli_stmt_num_rows, arginfo_mysqli_only_statement) 482 PHP_FE(mysqli_stmt_param_count, arginfo_mysqli_only_statement) 483 PHP_FE(mysqli_stmt_prepare, arginfo_mysqli_stmt_prepare) 484 PHP_FE(mysqli_stmt_reset, arginfo_mysqli_only_statement) 485 PHP_FE(mysqli_stmt_result_metadata, arginfo_mysqli_only_statement) 486 PHP_FE(mysqli_stmt_send_long_data, arginfo_mysqli_stmt_send_long_data) 487 PHP_FE(mysqli_stmt_store_result, arginfo_mysqli_only_statement) 488 PHP_FE(mysqli_stmt_sqlstate, arginfo_mysqli_only_statement) 489 PHP_FE(mysqli_sqlstate, arginfo_mysqli_only_link) 490 PHP_FE(mysqli_ssl_set, arginfo_mysqli_ssl_set) 491 PHP_FE(mysqli_stat, arginfo_mysqli_only_link) 492 PHP_FE(mysqli_store_result, arginfo_mysqli_only_link) 493 PHP_FE(mysqli_thread_id, arginfo_mysqli_only_link) 494 PHP_FE(mysqli_thread_safe, arginfo_mysqli_no_params) 495 PHP_FE(mysqli_use_result, arginfo_mysqli_only_link) 496 PHP_FE(mysqli_warning_count, arginfo_mysqli_only_link) 497 498 PHP_FE(mysqli_refresh, arginfo_mysqli_refresh) 499 500 /* Aliases */ 501 PHP_FALIAS(mysqli_escape_string, mysqli_real_escape_string, arginfo_mysqli_query) 502 PHP_FALIAS(mysqli_set_opt, mysqli_options, NULL) 503 504 PHP_FE_END 505 }; 506 /* }}} */ 507 508 /* {{{ mysqli_link_methods[] 509 * 510 * Every user visible function must have an entry in mysqli_functions[]. 511 */ 512 const zend_function_entry mysqli_link_methods[] = { 513 PHP_FALIAS(autocommit, mysqli_autocommit, arginfo_class_mysqli_autocommit) 514 PHP_FALIAS(begin_transaction, mysqli_begin_transaction, arginfo_class_mysqli_begin_transaction) 515 PHP_FALIAS(change_user,mysqli_change_user, arginfo_class_mysqli_change_user) 516 PHP_FALIAS(character_set_name, mysqli_character_set_name, arginfo_mysqli_no_params) 517 PHP_FALIAS(close, mysqli_close, arginfo_mysqli_no_params) 518 PHP_FALIAS(commit, mysqli_commit, arginfo_class_mysqli_commit) 519 PHP_FALIAS(connect, mysqli_connect, arginfo_mysqli_connect) 520 PHP_FALIAS(dump_debug_info, mysqli_dump_debug_info, arginfo_mysqli_no_params) 521 PHP_FALIAS(debug, mysqli_debug, arginfo_mysqli_debug) 522 #ifdef HAVE_MYSQLI_GET_CHARSET 523 PHP_FALIAS(get_charset, mysqli_get_charset, arginfo_mysqli_no_params) 524 #endif 525 PHP_FALIAS(get_client_info, mysqli_get_client_info, arginfo_mysqli_no_params) 526 #if defined(MYSQLI_USE_MYSQLND) 527 PHP_FALIAS(get_connection_stats, mysqli_get_connection_stats, arginfo_mysqli_no_params) 528 #endif 529 PHP_FALIAS(get_server_info, mysqli_get_server_info, arginfo_mysqli_no_params) 530 PHP_FALIAS(get_warnings, mysqli_get_warnings, arginfo_mysqli_no_params) 531 PHP_FALIAS(init,mysqli_init, arginfo_mysqli_no_params) 532 PHP_FALIAS(kill,mysqli_kill, arginfo_class_mysqli_kill) 533 PHP_FALIAS(multi_query, mysqli_multi_query, arginfo_class_mysqli_query) 534 PHP_FALIAS(mysqli, mysqli_link_construct, arginfo_mysqli_connect) 535 PHP_FALIAS(more_results, mysqli_more_results, arginfo_mysqli_no_params) 536 PHP_FALIAS(next_result, mysqli_next_result, arginfo_mysqli_no_params) 537 PHP_FALIAS(options, mysqli_options, arginfo_class_mysqli_options) 538 PHP_FALIAS(ping, mysqli_ping, arginfo_mysqli_no_params) 539 #if defined(MYSQLI_USE_MYSQLND) 540 ZEND_FENTRY(poll, ZEND_FN(mysqli_poll), arginfo_mysqli_poll, ZEND_ACC_PUBLIC | ZEND_ACC_STATIC) 541 #endif 542 PHP_FALIAS(prepare, mysqli_prepare, arginfo_class_mysqli_query) 543 PHP_FALIAS(query, mysqli_query, arginfo_class_mysqli_query) 544 PHP_FALIAS(real_connect, mysqli_real_connect, arginfo_class_mysqli_real_connect) 545 PHP_FALIAS(real_escape_string, mysqli_real_escape_string, arginfo_class_mysqli_real_escape_string) 546 #if defined(MYSQLI_USE_MYSQLND) 547 PHP_FALIAS(reap_async_query, mysqli_reap_async_query, arginfo_mysqli_no_params) 548 #endif 549 PHP_FALIAS(escape_string, mysqli_real_escape_string, arginfo_class_mysqli_real_escape_string) 550 PHP_FALIAS(real_query, mysqli_real_query, arginfo_class_mysqli_query) 551 PHP_FALIAS(release_savepoint, mysqli_release_savepoint, arginfo_class_mysqli_release_savepoint) 552 PHP_FALIAS(rollback, mysqli_rollback, arginfo_class_mysqli_rollback) 553 PHP_FALIAS(savepoint, mysqli_savepoint, arginfo_class_mysqli_savepoint) 554 PHP_FALIAS(select_db,mysqli_select_db, arginfo_class_mysqli_select_db) 555 #ifdef HAVE_MYSQLI_SET_CHARSET 556 PHP_FALIAS(set_charset, mysqli_set_charset, arginfo_class_mysqli_set_charset) 557 #endif 558 PHP_FALIAS(set_opt, mysqli_options, arginfo_class_mysqli_options) 559 PHP_FALIAS(ssl_set, mysqli_ssl_set, arginfo_class_mysqli_ssl_set) 560 PHP_FALIAS(stat, mysqli_stat, arginfo_mysqli_no_params) 561 PHP_FALIAS(stmt_init, mysqli_stmt_init, arginfo_mysqli_no_params) 562 PHP_FALIAS(store_result, mysqli_store_result, arginfo_mysqli_no_params) 563 PHP_FALIAS(thread_safe, mysqli_thread_safe, arginfo_mysqli_no_params) 564 PHP_FALIAS(use_result, mysqli_use_result, arginfo_mysqli_no_params) 565 PHP_FALIAS(refresh,mysqli_refresh, arginfo_class_mysqli_refresh) 566 {NULL, NULL, NULL} 567 }; 568 /* }}} */ 569 570 /* {{{ mysqli_result_methods[] 571 * 572 * Every user visible function must have an entry in mysqli_result_functions[]. 573 */ 574 const zend_function_entry mysqli_result_methods[] = { 575 PHP_FALIAS(__construct, mysqli_result_construct, NULL) 576 PHP_FALIAS(close, mysqli_free_result, arginfo_mysqli_no_params) 577 PHP_FALIAS(free, mysqli_free_result, arginfo_mysqli_no_params) 578 PHP_FALIAS(data_seek, mysqli_data_seek, arginfo_class_mysqli_data_seek) 579 PHP_FALIAS(fetch_field, mysqli_fetch_field, arginfo_mysqli_no_params) 580 PHP_FALIAS(fetch_fields, mysqli_fetch_fields, arginfo_mysqli_no_params) 581 PHP_FALIAS(fetch_field_direct, mysqli_fetch_field_direct, arginfo_class_mysqli_result_and_fieldnr) 582 #if defined(MYSQLI_USE_MYSQLND) 583 PHP_FALIAS(fetch_all, mysqli_fetch_all, arginfo_mysqli_no_params) 584 #endif 585 PHP_FALIAS(fetch_array, mysqli_fetch_array, arginfo_class_mysqli_fetch_array) 586 PHP_FALIAS(fetch_assoc, mysqli_fetch_assoc, arginfo_mysqli_no_params) 587 PHP_FALIAS(fetch_object,mysqli_fetch_object, arginfo_class_mysqli_fetch_object) 588 PHP_FALIAS(fetch_row, mysqli_fetch_row, arginfo_mysqli_no_params) 589 PHP_FALIAS(field_seek, mysqli_field_seek, arginfo_class_mysqli_result_and_fieldnr) 590 PHP_FALIAS(free_result, mysqli_free_result, arginfo_mysqli_no_params) 591 {NULL, NULL, NULL} 592 }; 593 /* }}} */ 594 595 /* {{{ mysqli_stmt_methods[] 596 * 597 * Every user visible function must have an entry in mysqli_stmt_functions[]. 598 */ 599 const zend_function_entry mysqli_stmt_methods[] = { 600 PHP_FALIAS(__construct, mysqli_stmt_construct, NULL) 601 PHP_FALIAS(attr_get, mysqli_stmt_attr_get, arginfo_class_mysqli_stmt_attr_get) 602 PHP_FALIAS(attr_set,mysqli_stmt_attr_set, arginfo_class_mysqli_stmt_attr_set) 603 PHP_FALIAS(bind_param,mysqli_stmt_bind_param, arginfo_class_mysqli_stmt_bind_param) 604 PHP_FALIAS(bind_result,mysqli_stmt_bind_result, arginfo_class_mysqli_stmt_bind_result) 605 PHP_FALIAS(close, mysqli_stmt_close, arginfo_mysqli_no_params) 606 PHP_FALIAS(data_seek, mysqli_stmt_data_seek, arginfo_class_mysqli_data_seek) 607 PHP_FALIAS(execute, mysqli_stmt_execute, arginfo_mysqli_no_params) 608 PHP_FALIAS(fetch, mysqli_stmt_fetch, arginfo_mysqli_no_params) 609 PHP_FALIAS(get_warnings, mysqli_stmt_get_warnings, arginfo_mysqli_no_params) 610 PHP_FALIAS(result_metadata, mysqli_stmt_result_metadata, arginfo_mysqli_no_params) 611 #if defined(MYSQLI_USE_MYSQLND) 612 PHP_FALIAS(more_results, mysqli_stmt_more_results, arginfo_mysqli_no_params) 613 PHP_FALIAS(next_result, mysqli_stmt_next_result, arginfo_mysqli_no_params) 614 #endif 615 PHP_FALIAS(num_rows, mysqli_stmt_num_rows, arginfo_mysqli_no_params) 616 PHP_FALIAS(send_long_data, mysqli_stmt_send_long_data, arginfo_class_mysqli_stmt_send_long_data) 617 PHP_FALIAS(free_result, mysqli_stmt_free_result, arginfo_mysqli_no_params) 618 PHP_FALIAS(reset, mysqli_stmt_reset, arginfo_mysqli_no_params) 619 PHP_FALIAS(prepare, mysqli_stmt_prepare, arginfo_class_mysqli_query) 620 PHP_FALIAS(store_result, mysqli_stmt_store_result, arginfo_mysqli_no_params) 621 #if defined(MYSQLI_USE_MYSQLND) 622 PHP_FALIAS(get_result, mysqli_stmt_get_result, arginfo_mysqli_no_params) 623 #endif 624 {NULL, NULL, NULL} 625 }; 626 /* }}} */ 627 628 /* 629 * Local variables: 630 * tab-width: 4 631 * c-basic-offset: 4 632 * End: 633 * vim600: noet sw=4 ts=4 fdm=marker 634 * vim<600: noet sw=4 ts=4 635 */ 636