mirror of
https://github.com/php/php-src.git
synced 2024-09-22 02:17:32 +00:00
Fix for bug #52654 mysqli doesn't install headers with structures it uses
This commit is contained in:
parent
99a4506787
commit
67ef72018f
@ -80,6 +80,7 @@ if test "$PHP_MYSQLI" != "no"; then
|
||||
mysqli_exception.c mysqli_result_iterator.c $mysqli_extra_sources"
|
||||
PHP_NEW_EXTENSION(mysqli, $mysqli_sources, $ext_shared)
|
||||
PHP_SUBST(MYSQLI_SHARED_LIBADD)
|
||||
PHP_INSTALL_HEADERS([ext/mysqli/php_mysqli_structs.h])
|
||||
|
||||
if test "$PHP_MYSQLI" = "mysqlnd"; then
|
||||
PHP_ADD_EXTENSION_DEP(mysqli, mysqlnd)
|
||||
|
@ -31,6 +31,7 @@
|
||||
#include "ext/standard/info.h"
|
||||
#include "ext/standard/php_string.h"
|
||||
#include "php_mysqli_structs.h"
|
||||
#include "mysqli_priv.h"
|
||||
#include "zend_exceptions.h"
|
||||
#include "zend_interfaces.h"
|
||||
|
||||
@ -526,46 +527,6 @@ PHP_MYSQLI_EXPORT(zend_object_value) mysqli_objects_new(zend_class_entry *class_
|
||||
/* }}} */
|
||||
|
||||
|
||||
/* Dependancies */
|
||||
static const zend_module_dep mysqli_deps[] = {
|
||||
#if defined(HAVE_SPL) && ((PHP_MAJOR_VERSION > 5) || (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 1))
|
||||
ZEND_MOD_REQUIRED("spl")
|
||||
#endif
|
||||
#if defined(MYSQLI_USE_MYSQLND)
|
||||
ZEND_MOD_REQUIRED("mysqlnd")
|
||||
#endif
|
||||
{NULL, NULL, NULL}
|
||||
};
|
||||
|
||||
/* {{{ mysqli_module_entry
|
||||
*/
|
||||
zend_module_entry mysqli_module_entry = {
|
||||
#if ZEND_MODULE_API_NO >= 20050922
|
||||
STANDARD_MODULE_HEADER_EX, NULL,
|
||||
mysqli_deps,
|
||||
#elif ZEND_MODULE_API_NO >= 20010901
|
||||
STANDARD_MODULE_HEADER,
|
||||
#endif
|
||||
"mysqli",
|
||||
mysqli_functions,
|
||||
PHP_MINIT(mysqli),
|
||||
PHP_MSHUTDOWN(mysqli),
|
||||
PHP_RINIT(mysqli),
|
||||
PHP_RSHUTDOWN(mysqli),
|
||||
PHP_MINFO(mysqli),
|
||||
"0.1", /* Replace with version number for your extension */
|
||||
PHP_MODULE_GLOBALS(mysqli),
|
||||
PHP_GINIT(mysqli),
|
||||
NULL,
|
||||
NULL,
|
||||
STANDARD_MODULE_PROPERTIES_EX
|
||||
};
|
||||
/* }}} */
|
||||
|
||||
#ifdef COMPILE_DL_MYSQLI
|
||||
ZEND_GET_MODULE(mysqli)
|
||||
#endif
|
||||
|
||||
/* {{{ PHP_INI_BEGIN
|
||||
*/
|
||||
PHP_INI_BEGIN()
|
||||
@ -899,7 +860,6 @@ PHP_RINIT_FUNCTION(mysqli)
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
|
||||
#ifdef MYSQLI_USE_MYSQLND
|
||||
static void php_mysqli_persistent_helper_for_every(void *p)
|
||||
{
|
||||
@ -964,6 +924,48 @@ PHP_MINFO_FUNCTION(mysqli)
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
|
||||
/* Dependancies */
|
||||
static const zend_module_dep mysqli_deps[] = {
|
||||
#if defined(HAVE_SPL) && ((PHP_MAJOR_VERSION > 5) || (PHP_MAJOR_VERSION == 5 && PHP_MINOR_VERSION >= 1))
|
||||
ZEND_MOD_REQUIRED("spl")
|
||||
#endif
|
||||
#if defined(MYSQLI_USE_MYSQLND)
|
||||
ZEND_MOD_REQUIRED("mysqlnd")
|
||||
#endif
|
||||
{NULL, NULL, NULL}
|
||||
};
|
||||
|
||||
/* {{{ mysqli_module_entry
|
||||
*/
|
||||
zend_module_entry mysqli_module_entry = {
|
||||
#if ZEND_MODULE_API_NO >= 20050922
|
||||
STANDARD_MODULE_HEADER_EX, NULL,
|
||||
mysqli_deps,
|
||||
#elif ZEND_MODULE_API_NO >= 20010901
|
||||
STANDARD_MODULE_HEADER,
|
||||
#endif
|
||||
"mysqli",
|
||||
mysqli_functions,
|
||||
PHP_MINIT(mysqli),
|
||||
PHP_MSHUTDOWN(mysqli),
|
||||
PHP_RINIT(mysqli),
|
||||
PHP_RSHUTDOWN(mysqli),
|
||||
PHP_MINFO(mysqli),
|
||||
"0.1", /* Replace with version number for your extension */
|
||||
PHP_MODULE_GLOBALS(mysqli),
|
||||
PHP_GINIT(mysqli),
|
||||
NULL,
|
||||
NULL,
|
||||
STANDARD_MODULE_PROPERTIES_EX
|
||||
};
|
||||
/* }}} */
|
||||
|
||||
#ifdef COMPILE_DL_MYSQLI
|
||||
ZEND_GET_MODULE(mysqli)
|
||||
#endif
|
||||
|
||||
|
||||
/* {{{ mixed mysqli_stmt_construct()
|
||||
constructor for statement object.
|
||||
Parameters:
|
||||
|
@ -31,6 +31,7 @@
|
||||
#include "php_globals.h"
|
||||
#include "ext/standard/info.h"
|
||||
#include "php_mysqli_structs.h"
|
||||
#include "mysqli_priv.h"
|
||||
|
||||
/* {{{ proto mixed mysqli_affected_rows(object link)
|
||||
Get number of affected rows in previous MySQL operation */
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include "php_ini.h"
|
||||
#include "ext/standard/info.h"
|
||||
#include "php_mysqli_structs.h"
|
||||
#include "mysqli_priv.h"
|
||||
#include "zend_exceptions.h"
|
||||
|
||||
/* {{{ mysqli_exception_methods[]
|
||||
|
@ -30,6 +30,7 @@
|
||||
#include "php_ini.h"
|
||||
#include "ext/standard/info.h"
|
||||
#include "php_mysqli_structs.h"
|
||||
#include "mysqli_fe.h"
|
||||
|
||||
#if PHP_VERSION_ID >= 50400
|
||||
#define MYSQLI_ZEND_ARG_OBJ_INFO_LINK() ZEND_ARG_OBJ_INFO(0, link, mysqli, 0)
|
||||
|
270
ext/mysqli/mysqli_fe.h
Normal file
270
ext/mysqli/mysqli_fe.h
Normal file
@ -0,0 +1,270 @@
|
||||
/*
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2010 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.01 of the PHP license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
| available through the world-wide-web at the following url: |
|
||||
| http://www.php.net/license/3_01.txt |
|
||||
| If you did not receive a copy of the PHP license and are unable to |
|
||||
| obtain it through the world-wide-web, please send a note to |
|
||||
| license@php.net so we can mail you a copy immediately. |
|
||||
+----------------------------------------------------------------------+
|
||||
| Author: Georg Richter <georg@php.net> |
|
||||
Andrey Hristov <andrey@php.net> |
|
||||
+----------------------------------------------------------------------+
|
||||
|
||||
$Id: php_mysqli_structs.h 302179 2010-08-13 09:57:04Z andrey $
|
||||
*/
|
||||
|
||||
#ifndef MYSQLI_FE_H
|
||||
#define MYSQLI_FE_H
|
||||
|
||||
PHP_FUNCTION(mysqli);
|
||||
PHP_FUNCTION(mysqli_affected_rows);
|
||||
PHP_FUNCTION(mysqli_autocommit);
|
||||
PHP_FUNCTION(mysqli_change_user);
|
||||
PHP_FUNCTION(mysqli_character_set_name);
|
||||
PHP_FUNCTION(mysqli_set_charset);
|
||||
PHP_FUNCTION(mysqli_close);
|
||||
PHP_FUNCTION(mysqli_commit);
|
||||
PHP_FUNCTION(mysqli_connect);
|
||||
PHP_FUNCTION(mysqli_connect_errno);
|
||||
PHP_FUNCTION(mysqli_connect_error);
|
||||
PHP_FUNCTION(mysqli_data_seek);
|
||||
PHP_FUNCTION(mysqli_debug);
|
||||
PHP_FUNCTION(mysqli_dump_debug_info);
|
||||
PHP_FUNCTION(mysqli_errno);
|
||||
PHP_FUNCTION(mysqli_error);
|
||||
PHP_FUNCTION(mysqli_fetch_all);
|
||||
PHP_FUNCTION(mysqli_fetch_array);
|
||||
PHP_FUNCTION(mysqli_fetch_assoc);
|
||||
PHP_FUNCTION(mysqli_fetch_object);
|
||||
PHP_FUNCTION(mysqli_fetch_field);
|
||||
PHP_FUNCTION(mysqli_fetch_fields);
|
||||
PHP_FUNCTION(mysqli_fetch_field_direct);
|
||||
PHP_FUNCTION(mysqli_fetch_lengths);
|
||||
PHP_FUNCTION(mysqli_fetch_row);
|
||||
PHP_FUNCTION(mysqli_field_count);
|
||||
PHP_FUNCTION(mysqli_field_seek);
|
||||
PHP_FUNCTION(mysqli_field_tell);
|
||||
PHP_FUNCTION(mysqli_free_result);
|
||||
PHP_FUNCTION(mysqli_get_cache_stats);
|
||||
PHP_FUNCTION(mysqli_get_client_stats);
|
||||
PHP_FUNCTION(mysqli_get_connection_stats);
|
||||
PHP_FUNCTION(mysqli_get_charset);
|
||||
PHP_FUNCTION(mysqli_get_client_info);
|
||||
PHP_FUNCTION(mysqli_get_client_version);
|
||||
PHP_FUNCTION(mysqli_get_host_info);
|
||||
PHP_FUNCTION(mysqli_get_proto_info);
|
||||
PHP_FUNCTION(mysqli_get_server_info);
|
||||
PHP_FUNCTION(mysqli_get_server_version);
|
||||
PHP_FUNCTION(mysqli_get_warnings);
|
||||
PHP_FUNCTION(mysqli_info);
|
||||
PHP_FUNCTION(mysqli_insert_id);
|
||||
PHP_FUNCTION(mysqli_init);
|
||||
PHP_FUNCTION(mysqli_kill);
|
||||
PHP_FUNCTION(mysqli_link_construct);
|
||||
PHP_FUNCTION(mysqli_set_local_infile_default);
|
||||
PHP_FUNCTION(mysqli_set_local_infile_handler);
|
||||
PHP_FUNCTION(mysqli_more_results);
|
||||
PHP_FUNCTION(mysqli_multi_query);
|
||||
PHP_FUNCTION(mysqli_next_result);
|
||||
PHP_FUNCTION(mysqli_num_fields);
|
||||
PHP_FUNCTION(mysqli_num_rows);
|
||||
PHP_FUNCTION(mysqli_options);
|
||||
PHP_FUNCTION(mysqli_ping);
|
||||
PHP_FUNCTION(mysqli_poll);
|
||||
PHP_FUNCTION(mysqli_prepare);
|
||||
PHP_FUNCTION(mysqli_query);
|
||||
PHP_FUNCTION(mysqli_stmt_result_metadata);
|
||||
PHP_FUNCTION(mysqli_report);
|
||||
PHP_FUNCTION(mysqli_read_query_result);
|
||||
PHP_FUNCTION(mysqli_real_connect);
|
||||
PHP_FUNCTION(mysqli_real_query);
|
||||
PHP_FUNCTION(mysqli_real_escape_string);
|
||||
PHP_FUNCTION(mysqli_reap_async_query);
|
||||
PHP_FUNCTION(mysqli_rollback);
|
||||
PHP_FUNCTION(mysqli_row_seek);
|
||||
PHP_FUNCTION(mysqli_select_db);
|
||||
PHP_FUNCTION(mysqli_stmt_attr_get);
|
||||
PHP_FUNCTION(mysqli_stmt_attr_set);
|
||||
PHP_FUNCTION(mysqli_stmt_bind_param);
|
||||
PHP_FUNCTION(mysqli_stmt_bind_result);
|
||||
PHP_FUNCTION(mysqli_stmt_execute);
|
||||
PHP_FUNCTION(mysqli_stmt_field_count);
|
||||
PHP_FUNCTION(mysqli_stmt_init);
|
||||
PHP_FUNCTION(mysqli_stmt_prepare);
|
||||
PHP_FUNCTION(mysqli_stmt_fetch);
|
||||
PHP_FUNCTION(mysqli_stmt_param_count);
|
||||
PHP_FUNCTION(mysqli_stmt_send_long_data);
|
||||
PHP_FUNCTION(mysqli_embedded_server_end);
|
||||
PHP_FUNCTION(mysqli_embedded_server_start);
|
||||
PHP_FUNCTION(mysqli_sqlstate);
|
||||
PHP_FUNCTION(mysqli_ssl_set);
|
||||
PHP_FUNCTION(mysqli_stat);
|
||||
PHP_FUNCTION(mysqli_refresh);
|
||||
PHP_FUNCTION(mysqli_stmt_affected_rows);
|
||||
PHP_FUNCTION(mysqli_stmt_close);
|
||||
PHP_FUNCTION(mysqli_stmt_data_seek);
|
||||
PHP_FUNCTION(mysqli_stmt_errno);
|
||||
PHP_FUNCTION(mysqli_stmt_error);
|
||||
PHP_FUNCTION(mysqli_stmt_free_result);
|
||||
PHP_FUNCTION(mysqli_stmt_get_result);
|
||||
PHP_FUNCTION(mysqli_stmt_get_warnings);
|
||||
PHP_FUNCTION(mysqli_stmt_reset);
|
||||
PHP_FUNCTION(mysqli_stmt_insert_id);
|
||||
PHP_FUNCTION(mysqli_stmt_more_results);
|
||||
PHP_FUNCTION(mysqli_stmt_next_result);
|
||||
PHP_FUNCTION(mysqli_stmt_num_rows);
|
||||
PHP_FUNCTION(mysqli_stmt_sqlstate);
|
||||
PHP_FUNCTION(mysqli_stmt_store_result);
|
||||
PHP_FUNCTION(mysqli_store_result);
|
||||
PHP_FUNCTION(mysqli_thread_id);
|
||||
PHP_FUNCTION(mysqli_thread_safe);
|
||||
PHP_FUNCTION(mysqli_use_result);
|
||||
PHP_FUNCTION(mysqli_warning_count);
|
||||
|
||||
PHP_FUNCTION(mysqli_stmt_construct);
|
||||
PHP_FUNCTION(mysqli_result_construct);
|
||||
PHP_FUNCTION(mysqli_driver_construct);
|
||||
PHP_METHOD(mysqli_warning,__construct);
|
||||
|
||||
#endif /* MYSQLI_FE_H */
|
||||
/*
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2010 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.01 of the PHP license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
| available through the world-wide-web at the following url: |
|
||||
| http://www.php.net/license/3_01.txt |
|
||||
| If you did not receive a copy of the PHP license and are unable to |
|
||||
| obtain it through the world-wide-web, please send a note to |
|
||||
| license@php.net so we can mail you a copy immediately. |
|
||||
+----------------------------------------------------------------------+
|
||||
| Author: Georg Richter <georg@php.net> |
|
||||
Andrey Hristov <andrey@php.net> |
|
||||
+----------------------------------------------------------------------+
|
||||
|
||||
$Id: php_mysqli_structs.h 302179 2010-08-13 09:57:04Z andrey $
|
||||
*/
|
||||
|
||||
#ifndef MYSQLI_FE_H
|
||||
#define MYSQLI_FE_H
|
||||
|
||||
PHP_FUNCTION(mysqli);
|
||||
PHP_FUNCTION(mysqli_affected_rows);
|
||||
PHP_FUNCTION(mysqli_autocommit);
|
||||
PHP_FUNCTION(mysqli_change_user);
|
||||
PHP_FUNCTION(mysqli_character_set_name);
|
||||
PHP_FUNCTION(mysqli_set_charset);
|
||||
PHP_FUNCTION(mysqli_close);
|
||||
PHP_FUNCTION(mysqli_commit);
|
||||
PHP_FUNCTION(mysqli_connect);
|
||||
PHP_FUNCTION(mysqli_connect_errno);
|
||||
PHP_FUNCTION(mysqli_connect_error);
|
||||
PHP_FUNCTION(mysqli_data_seek);
|
||||
PHP_FUNCTION(mysqli_debug);
|
||||
PHP_FUNCTION(mysqli_dump_debug_info);
|
||||
PHP_FUNCTION(mysqli_errno);
|
||||
PHP_FUNCTION(mysqli_error);
|
||||
PHP_FUNCTION(mysqli_fetch_all);
|
||||
PHP_FUNCTION(mysqli_fetch_array);
|
||||
PHP_FUNCTION(mysqli_fetch_assoc);
|
||||
PHP_FUNCTION(mysqli_fetch_object);
|
||||
PHP_FUNCTION(mysqli_fetch_field);
|
||||
PHP_FUNCTION(mysqli_fetch_fields);
|
||||
PHP_FUNCTION(mysqli_fetch_field_direct);
|
||||
PHP_FUNCTION(mysqli_fetch_lengths);
|
||||
PHP_FUNCTION(mysqli_fetch_row);
|
||||
PHP_FUNCTION(mysqli_field_count);
|
||||
PHP_FUNCTION(mysqli_field_seek);
|
||||
PHP_FUNCTION(mysqli_field_tell);
|
||||
PHP_FUNCTION(mysqli_free_result);
|
||||
PHP_FUNCTION(mysqli_get_cache_stats);
|
||||
PHP_FUNCTION(mysqli_get_client_stats);
|
||||
PHP_FUNCTION(mysqli_get_connection_stats);
|
||||
PHP_FUNCTION(mysqli_get_charset);
|
||||
PHP_FUNCTION(mysqli_get_client_info);
|
||||
PHP_FUNCTION(mysqli_get_client_version);
|
||||
PHP_FUNCTION(mysqli_get_host_info);
|
||||
PHP_FUNCTION(mysqli_get_proto_info);
|
||||
PHP_FUNCTION(mysqli_get_server_info);
|
||||
PHP_FUNCTION(mysqli_get_server_version);
|
||||
PHP_FUNCTION(mysqli_get_warnings);
|
||||
PHP_FUNCTION(mysqli_info);
|
||||
PHP_FUNCTION(mysqli_insert_id);
|
||||
PHP_FUNCTION(mysqli_init);
|
||||
PHP_FUNCTION(mysqli_kill);
|
||||
PHP_FUNCTION(mysqli_link_construct);
|
||||
PHP_FUNCTION(mysqli_set_local_infile_default);
|
||||
PHP_FUNCTION(mysqli_set_local_infile_handler);
|
||||
PHP_FUNCTION(mysqli_more_results);
|
||||
PHP_FUNCTION(mysqli_multi_query);
|
||||
PHP_FUNCTION(mysqli_next_result);
|
||||
PHP_FUNCTION(mysqli_num_fields);
|
||||
PHP_FUNCTION(mysqli_num_rows);
|
||||
PHP_FUNCTION(mysqli_options);
|
||||
PHP_FUNCTION(mysqli_ping);
|
||||
PHP_FUNCTION(mysqli_poll);
|
||||
PHP_FUNCTION(mysqli_prepare);
|
||||
PHP_FUNCTION(mysqli_query);
|
||||
PHP_FUNCTION(mysqli_stmt_result_metadata);
|
||||
PHP_FUNCTION(mysqli_report);
|
||||
PHP_FUNCTION(mysqli_read_query_result);
|
||||
PHP_FUNCTION(mysqli_real_connect);
|
||||
PHP_FUNCTION(mysqli_real_query);
|
||||
PHP_FUNCTION(mysqli_real_escape_string);
|
||||
PHP_FUNCTION(mysqli_reap_async_query);
|
||||
PHP_FUNCTION(mysqli_rollback);
|
||||
PHP_FUNCTION(mysqli_row_seek);
|
||||
PHP_FUNCTION(mysqli_select_db);
|
||||
PHP_FUNCTION(mysqli_stmt_attr_get);
|
||||
PHP_FUNCTION(mysqli_stmt_attr_set);
|
||||
PHP_FUNCTION(mysqli_stmt_bind_param);
|
||||
PHP_FUNCTION(mysqli_stmt_bind_result);
|
||||
PHP_FUNCTION(mysqli_stmt_execute);
|
||||
PHP_FUNCTION(mysqli_stmt_field_count);
|
||||
PHP_FUNCTION(mysqli_stmt_init);
|
||||
PHP_FUNCTION(mysqli_stmt_prepare);
|
||||
PHP_FUNCTION(mysqli_stmt_fetch);
|
||||
PHP_FUNCTION(mysqli_stmt_param_count);
|
||||
PHP_FUNCTION(mysqli_stmt_send_long_data);
|
||||
PHP_FUNCTION(mysqli_embedded_server_end);
|
||||
PHP_FUNCTION(mysqli_embedded_server_start);
|
||||
PHP_FUNCTION(mysqli_sqlstate);
|
||||
PHP_FUNCTION(mysqli_ssl_set);
|
||||
PHP_FUNCTION(mysqli_stat);
|
||||
PHP_FUNCTION(mysqli_refresh);
|
||||
PHP_FUNCTION(mysqli_stmt_affected_rows);
|
||||
PHP_FUNCTION(mysqli_stmt_close);
|
||||
PHP_FUNCTION(mysqli_stmt_data_seek);
|
||||
PHP_FUNCTION(mysqli_stmt_errno);
|
||||
PHP_FUNCTION(mysqli_stmt_error);
|
||||
PHP_FUNCTION(mysqli_stmt_free_result);
|
||||
PHP_FUNCTION(mysqli_stmt_get_result);
|
||||
PHP_FUNCTION(mysqli_stmt_get_warnings);
|
||||
PHP_FUNCTION(mysqli_stmt_reset);
|
||||
PHP_FUNCTION(mysqli_stmt_insert_id);
|
||||
PHP_FUNCTION(mysqli_stmt_more_results);
|
||||
PHP_FUNCTION(mysqli_stmt_next_result);
|
||||
PHP_FUNCTION(mysqli_stmt_num_rows);
|
||||
PHP_FUNCTION(mysqli_stmt_sqlstate);
|
||||
PHP_FUNCTION(mysqli_stmt_store_result);
|
||||
PHP_FUNCTION(mysqli_store_result);
|
||||
PHP_FUNCTION(mysqli_thread_id);
|
||||
PHP_FUNCTION(mysqli_thread_safe);
|
||||
PHP_FUNCTION(mysqli_use_result);
|
||||
PHP_FUNCTION(mysqli_warning_count);
|
||||
|
||||
PHP_FUNCTION(mysqli_stmt_construct);
|
||||
PHP_FUNCTION(mysqli_result_construct);
|
||||
PHP_FUNCTION(mysqli_driver_construct);
|
||||
PHP_METHOD(mysqli_warning,__construct);
|
||||
|
||||
#endif /* MYSQLI_FE_H */
|
@ -30,6 +30,7 @@
|
||||
#include "php_ini.h"
|
||||
#include "ext/standard/info.h"
|
||||
#include "php_mysqli_structs.h"
|
||||
#include "mysqli_priv.h"
|
||||
|
||||
#define SAFE_STR(a) ((a)?a:"")
|
||||
|
||||
@ -419,7 +420,6 @@ PHP_FUNCTION(mysqli_get_connection_stats)
|
||||
PHP_FUNCTION(mysqli_fetch_object)
|
||||
{
|
||||
php_mysqli_fetch_into_hash(INTERNAL_FUNCTION_PARAM_PASSTHRU, MYSQLI_ASSOC, 1);
|
||||
/* todo: mysqlnd support */
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
|
312
ext/mysqli/mysqli_priv.h
Normal file
312
ext/mysqli/mysqli_priv.h
Normal file
@ -0,0 +1,312 @@
|
||||
/*
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2010 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.01 of the PHP license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
| available through the world-wide-web at the following url: |
|
||||
| http://www.php.net/license/3_01.txt |
|
||||
| If you did not receive a copy of the PHP license and are unable to |
|
||||
| obtain it through the world-wide-web, please send a note to |
|
||||
| license@php.net so we can mail you a copy immediately. |
|
||||
+----------------------------------------------------------------------+
|
||||
| Author: Georg Richter <georg@php.net> |
|
||||
+----------------------------------------------------------------------+
|
||||
|
||||
$Id: php_mysqli_structs.h 302179 2010-08-13 09:57:04Z andrey $
|
||||
*/
|
||||
|
||||
#ifndef MYSQLI_PRIV_H
|
||||
#define MYSQLI_PRIV_H
|
||||
|
||||
#ifdef PHP_MYSQL_UNIX_SOCK_ADDR
|
||||
#ifdef MYSQL_UNIX_ADDR
|
||||
#undef MYSQL_UNIX_ADDR
|
||||
#endif
|
||||
#define MYSQL_UNIX_ADDR PHP_MYSQL_UNIX_SOCK_ADDR
|
||||
#endif
|
||||
|
||||
/* character set support */
|
||||
#if defined(MYSQLND_VERSION_ID) || MYSQL_VERSION_ID > 50009
|
||||
#define HAVE_MYSQLI_GET_CHARSET
|
||||
#endif
|
||||
|
||||
#if defined(MYSQLND_VERSION_ID) || (MYSQL_VERSION_ID > 40112 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID > 50005
|
||||
#define HAVE_MYSQLI_SET_CHARSET
|
||||
#endif
|
||||
|
||||
|
||||
extern const zend_function_entry mysqli_functions[];
|
||||
extern const zend_function_entry mysqli_link_methods[];
|
||||
extern const zend_function_entry mysqli_stmt_methods[];
|
||||
extern const zend_function_entry mysqli_result_methods[];
|
||||
extern const zend_function_entry mysqli_driver_methods[];
|
||||
extern const zend_function_entry mysqli_warning_methods[];
|
||||
extern const zend_function_entry mysqli_exception_methods[];
|
||||
|
||||
extern const mysqli_property_entry mysqli_link_property_entries[];
|
||||
extern const mysqli_property_entry mysqli_result_property_entries[];
|
||||
extern const mysqli_property_entry mysqli_stmt_property_entries[];
|
||||
extern const mysqli_property_entry mysqli_driver_property_entries[];
|
||||
extern const mysqli_property_entry mysqli_warning_property_entries[];
|
||||
|
||||
extern zend_property_info mysqli_link_property_info_entries[];
|
||||
extern zend_property_info mysqli_result_property_info_entries[];
|
||||
extern zend_property_info mysqli_stmt_property_info_entries[];
|
||||
extern zend_property_info mysqli_driver_property_info_entries[];
|
||||
extern zend_property_info mysqli_warning_property_info_entries[];
|
||||
|
||||
extern int php_le_pmysqli(void);
|
||||
extern void php_mysqli_dtor_p_elements(void *data);
|
||||
|
||||
extern void php_mysqli_close(MY_MYSQL * mysql, int close_type, int resource_status TSRMLS_DC);
|
||||
|
||||
extern void php_mysqli_fetch_into_hash(INTERNAL_FUNCTION_PARAMETERS, int override_flag, int into_object);
|
||||
extern void php_clear_stmt_bind(MY_STMT *stmt TSRMLS_DC);
|
||||
extern void php_clear_mysql(MY_MYSQL *);
|
||||
extern MYSQLI_WARNING *php_get_warnings(MYSQL *mysql TSRMLS_DC);
|
||||
extern void php_clear_warnings(MYSQLI_WARNING *w);
|
||||
extern void php_free_stmt_bind_buffer(BIND_BUFFER bbuf, int type);
|
||||
extern void php_mysqli_report_error(const char *sqlstate, int errorno, const char *error TSRMLS_DC);
|
||||
extern void php_mysqli_report_index(const char *query, unsigned int status TSRMLS_DC);
|
||||
extern void php_set_local_infile_handler_default(MY_MYSQL *);
|
||||
extern void php_mysqli_throw_sql_exception(char *sqlstate, int errorno TSRMLS_DC, char *format, ...);
|
||||
|
||||
#ifdef HAVE_SPL
|
||||
extern PHPAPI zend_class_entry *spl_ce_RuntimeException;
|
||||
#endif
|
||||
|
||||
#define REGISTER_MYSQLI_CLASS_ENTRY(name, mysqli_entry, class_functions) { \
|
||||
zend_class_entry ce; \
|
||||
INIT_CLASS_ENTRY(ce, name,class_functions); \
|
||||
ce.create_object = mysqli_objects_new; \
|
||||
mysqli_entry = zend_register_internal_class(&ce TSRMLS_CC); \
|
||||
} \
|
||||
|
||||
#define PHP_MYSQLI_EXPORT(__type) PHP_MYSQLI_API __type
|
||||
|
||||
PHP_MYSQLI_EXPORT(zend_object_value) mysqli_objects_new(zend_class_entry * TSRMLS_DC);
|
||||
|
||||
|
||||
#define MYSQLI_DISABLE_MQ if (mysql->multi_query) { \
|
||||
mysql_set_server_option(mysql->mysql, MYSQL_OPTION_MULTI_STATEMENTS_OFF); \
|
||||
mysql->multi_query = 0; \
|
||||
}
|
||||
|
||||
#define MYSQLI_ENABLE_MQ if (!mysql->multi_query) { \
|
||||
mysql_set_server_option(mysql->mysql, MYSQL_OPTION_MULTI_STATEMENTS_ON); \
|
||||
mysql->multi_query = 1; \
|
||||
}
|
||||
|
||||
|
||||
#define MYSQLI_RETURN_LONG_LONG(__val) \
|
||||
{ \
|
||||
if ((__val) < LONG_MAX) { \
|
||||
RETURN_LONG((long) (__val)); \
|
||||
} else { \
|
||||
char *ret; \
|
||||
/* always used with my_ulonglong -> %llu */ \
|
||||
int l = spprintf(&ret, 0, MYSQLI_LLU_SPEC, (__val)); \
|
||||
RETURN_STRINGL(ret, l, 0); \
|
||||
} \
|
||||
}
|
||||
|
||||
#define MYSQLI_STORE_RESULT 0
|
||||
#define MYSQLI_USE_RESULT 1
|
||||
#ifdef MYSQLI_USE_MYSQLND
|
||||
#define MYSQLI_ASYNC 8
|
||||
#else
|
||||
/* libmysql */
|
||||
#define MYSQLI_ASYNC 0
|
||||
#endif
|
||||
|
||||
/* for mysqli_fetch_assoc */
|
||||
#define MYSQLI_ASSOC 1
|
||||
#define MYSQLI_NUM 2
|
||||
#define MYSQLI_BOTH 3
|
||||
|
||||
/* fetch types */
|
||||
#define FETCH_SIMPLE 1
|
||||
#define FETCH_RESULT 2
|
||||
|
||||
/*** REPORT MODES ***/
|
||||
#define MYSQLI_REPORT_OFF 0
|
||||
#define MYSQLI_REPORT_ERROR 1
|
||||
#define MYSQLI_REPORT_STRICT 2
|
||||
#define MYSQLI_REPORT_INDEX 4
|
||||
#define MYSQLI_REPORT_CLOSE 8
|
||||
#define MYSQLI_REPORT_ALL 255
|
||||
|
||||
#define MYSQLI_REPORT_MYSQL_ERROR(mysql) \
|
||||
if ((MyG(report_mode) & MYSQLI_REPORT_ERROR) && mysql_errno(mysql)) { \
|
||||
php_mysqli_report_error(mysql_sqlstate(mysql), mysql_errno(mysql), mysql_error(mysql) TSRMLS_CC); \
|
||||
}
|
||||
|
||||
#define MYSQLI_REPORT_STMT_ERROR(stmt) \
|
||||
if ((MyG(report_mode) & MYSQLI_REPORT_ERROR) && mysql_stmt_errno(stmt)) { \
|
||||
php_mysqli_report_error(mysql_stmt_sqlstate(stmt), mysql_stmt_errno(stmt), mysql_stmt_error(stmt) TSRMLS_CC); \
|
||||
}
|
||||
|
||||
void mysqli_common_connect(INTERNAL_FUNCTION_PARAMETERS, zend_bool is_real_connect, zend_bool in_ctor);
|
||||
|
||||
void php_mysqli_init(INTERNAL_FUNCTION_PARAMETERS);
|
||||
|
||||
#endif /* MYSQLI_PRIV_H */
|
||||
/*
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2010 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.01 of the PHP license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
| available through the world-wide-web at the following url: |
|
||||
| http://www.php.net/license/3_01.txt |
|
||||
| If you did not receive a copy of the PHP license and are unable to |
|
||||
| obtain it through the world-wide-web, please send a note to |
|
||||
| license@php.net so we can mail you a copy immediately. |
|
||||
+----------------------------------------------------------------------+
|
||||
| Author: Georg Richter <georg@php.net> |
|
||||
+----------------------------------------------------------------------+
|
||||
|
||||
$Id: php_mysqli_structs.h 302179 2010-08-13 09:57:04Z andrey $
|
||||
*/
|
||||
|
||||
#ifndef MYSQLI_PRIV_H
|
||||
#define MYSQLI_PRIV_H
|
||||
|
||||
#ifdef PHP_MYSQL_UNIX_SOCK_ADDR
|
||||
#ifdef MYSQL_UNIX_ADDR
|
||||
#undef MYSQL_UNIX_ADDR
|
||||
#endif
|
||||
#define MYSQL_UNIX_ADDR PHP_MYSQL_UNIX_SOCK_ADDR
|
||||
#endif
|
||||
|
||||
/* character set support */
|
||||
#if defined(MYSQLND_VERSION_ID) || MYSQL_VERSION_ID > 50009
|
||||
#define HAVE_MYSQLI_GET_CHARSET
|
||||
#endif
|
||||
|
||||
#if defined(MYSQLND_VERSION_ID) || (MYSQL_VERSION_ID > 40112 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID > 50005
|
||||
#define HAVE_MYSQLI_SET_CHARSET
|
||||
#endif
|
||||
|
||||
|
||||
extern const zend_function_entry mysqli_functions[];
|
||||
extern const zend_function_entry mysqli_link_methods[];
|
||||
extern const zend_function_entry mysqli_stmt_methods[];
|
||||
extern const zend_function_entry mysqli_result_methods[];
|
||||
extern const zend_function_entry mysqli_driver_methods[];
|
||||
extern const zend_function_entry mysqli_warning_methods[];
|
||||
extern const zend_function_entry mysqli_exception_methods[];
|
||||
|
||||
extern const mysqli_property_entry mysqli_link_property_entries[];
|
||||
extern const mysqli_property_entry mysqli_result_property_entries[];
|
||||
extern const mysqli_property_entry mysqli_stmt_property_entries[];
|
||||
extern const mysqli_property_entry mysqli_driver_property_entries[];
|
||||
extern const mysqli_property_entry mysqli_warning_property_entries[];
|
||||
|
||||
extern zend_property_info mysqli_link_property_info_entries[];
|
||||
extern zend_property_info mysqli_result_property_info_entries[];
|
||||
extern zend_property_info mysqli_stmt_property_info_entries[];
|
||||
extern zend_property_info mysqli_driver_property_info_entries[];
|
||||
extern zend_property_info mysqli_warning_property_info_entries[];
|
||||
|
||||
extern int php_le_pmysqli(void);
|
||||
extern void php_mysqli_dtor_p_elements(void *data);
|
||||
|
||||
extern void php_mysqli_close(MY_MYSQL * mysql, int close_type, int resource_status TSRMLS_DC);
|
||||
|
||||
extern void php_mysqli_fetch_into_hash(INTERNAL_FUNCTION_PARAMETERS, int override_flag, int into_object);
|
||||
extern void php_clear_stmt_bind(MY_STMT *stmt TSRMLS_DC);
|
||||
extern void php_clear_mysql(MY_MYSQL *);
|
||||
extern MYSQLI_WARNING *php_get_warnings(MYSQL *mysql TSRMLS_DC);
|
||||
extern void php_clear_warnings(MYSQLI_WARNING *w);
|
||||
extern void php_free_stmt_bind_buffer(BIND_BUFFER bbuf, int type);
|
||||
extern void php_mysqli_report_error(const char *sqlstate, int errorno, const char *error TSRMLS_DC);
|
||||
extern void php_mysqli_report_index(const char *query, unsigned int status TSRMLS_DC);
|
||||
extern void php_set_local_infile_handler_default(MY_MYSQL *);
|
||||
extern void php_mysqli_throw_sql_exception(char *sqlstate, int errorno TSRMLS_DC, char *format, ...);
|
||||
|
||||
#ifdef HAVE_SPL
|
||||
extern PHPAPI zend_class_entry *spl_ce_RuntimeException;
|
||||
#endif
|
||||
|
||||
#define REGISTER_MYSQLI_CLASS_ENTRY(name, mysqli_entry, class_functions) { \
|
||||
zend_class_entry ce; \
|
||||
INIT_CLASS_ENTRY(ce, name,class_functions); \
|
||||
ce.create_object = mysqli_objects_new; \
|
||||
mysqli_entry = zend_register_internal_class(&ce TSRMLS_CC); \
|
||||
} \
|
||||
|
||||
#define PHP_MYSQLI_EXPORT(__type) PHP_MYSQLI_API __type
|
||||
|
||||
PHP_MYSQLI_EXPORT(zend_object_value) mysqli_objects_new(zend_class_entry * TSRMLS_DC);
|
||||
|
||||
|
||||
#define MYSQLI_DISABLE_MQ if (mysql->multi_query) { \
|
||||
mysql_set_server_option(mysql->mysql, MYSQL_OPTION_MULTI_STATEMENTS_OFF); \
|
||||
mysql->multi_query = 0; \
|
||||
}
|
||||
|
||||
#define MYSQLI_ENABLE_MQ if (!mysql->multi_query) { \
|
||||
mysql_set_server_option(mysql->mysql, MYSQL_OPTION_MULTI_STATEMENTS_ON); \
|
||||
mysql->multi_query = 1; \
|
||||
}
|
||||
|
||||
|
||||
#define MYSQLI_RETURN_LONG_LONG(__val) \
|
||||
{ \
|
||||
if ((__val) < LONG_MAX) { \
|
||||
RETURN_LONG((long) (__val)); \
|
||||
} else { \
|
||||
char *ret; \
|
||||
/* always used with my_ulonglong -> %llu */ \
|
||||
int l = spprintf(&ret, 0, MYSQLI_LLU_SPEC, (__val)); \
|
||||
RETURN_STRINGL(ret, l, 0); \
|
||||
} \
|
||||
}
|
||||
|
||||
#define MYSQLI_STORE_RESULT 0
|
||||
#define MYSQLI_USE_RESULT 1
|
||||
#ifdef MYSQLI_USE_MYSQLND
|
||||
#define MYSQLI_ASYNC 8
|
||||
#else
|
||||
/* libmysql */
|
||||
#define MYSQLI_ASYNC 0
|
||||
#endif
|
||||
|
||||
/* for mysqli_fetch_assoc */
|
||||
#define MYSQLI_ASSOC 1
|
||||
#define MYSQLI_NUM 2
|
||||
#define MYSQLI_BOTH 3
|
||||
|
||||
/* fetch types */
|
||||
#define FETCH_SIMPLE 1
|
||||
#define FETCH_RESULT 2
|
||||
|
||||
/*** REPORT MODES ***/
|
||||
#define MYSQLI_REPORT_OFF 0
|
||||
#define MYSQLI_REPORT_ERROR 1
|
||||
#define MYSQLI_REPORT_STRICT 2
|
||||
#define MYSQLI_REPORT_INDEX 4
|
||||
#define MYSQLI_REPORT_CLOSE 8
|
||||
#define MYSQLI_REPORT_ALL 255
|
||||
|
||||
#define MYSQLI_REPORT_MYSQL_ERROR(mysql) \
|
||||
if ((MyG(report_mode) & MYSQLI_REPORT_ERROR) && mysql_errno(mysql)) { \
|
||||
php_mysqli_report_error(mysql_sqlstate(mysql), mysql_errno(mysql), mysql_error(mysql) TSRMLS_CC); \
|
||||
}
|
||||
|
||||
#define MYSQLI_REPORT_STMT_ERROR(stmt) \
|
||||
if ((MyG(report_mode) & MYSQLI_REPORT_ERROR) && mysql_stmt_errno(stmt)) { \
|
||||
php_mysqli_report_error(mysql_stmt_sqlstate(stmt), mysql_stmt_errno(stmt), mysql_stmt_error(stmt) TSRMLS_CC); \
|
||||
}
|
||||
|
||||
void mysqli_common_connect(INTERNAL_FUNCTION_PARAMETERS, zend_bool is_real_connect, zend_bool in_ctor);
|
||||
|
||||
void php_mysqli_init(INTERNAL_FUNCTION_PARAMETERS);
|
||||
|
||||
#endif /* MYSQLI_PRIV_H */
|
@ -28,6 +28,7 @@
|
||||
#include "php_ini.h"
|
||||
#include "ext/standard/info.h"
|
||||
#include "php_mysqli_structs.h"
|
||||
#include "mysqli_priv.h"
|
||||
|
||||
#define CHECK_STATUS(value) \
|
||||
if (!obj->ptr || ((MYSQLI_RESOURCE *)obj->ptr)->status < value ) { \
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include "php.h"
|
||||
#include "php_ini.h"
|
||||
#include "php_mysqli_structs.h"
|
||||
#include "mysqli_priv.h"
|
||||
#include "zend_interfaces.h"
|
||||
|
||||
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include "php_ini.h"
|
||||
#include "ext/standard/info.h"
|
||||
#include "php_mysqli_structs.h"
|
||||
#include "mysqli_priv.h"
|
||||
|
||||
/* Define these in the PHP5 tree to make merging easy process */
|
||||
#define ZSTR_DUPLICATE (1<<0)
|
||||
|
@ -85,25 +85,8 @@
|
||||
#include <my_list.h>
|
||||
#include <m_ctype.h>
|
||||
#include "mysqli_libmysql.h"
|
||||
#endif
|
||||
#endif /* MYSQLI_USE_MYSQLND */
|
||||
|
||||
#ifdef PHP_MYSQL_UNIX_SOCK_ADDR
|
||||
#ifdef MYSQL_UNIX_ADDR
|
||||
#undef MYSQL_UNIX_ADDR
|
||||
#endif
|
||||
#define MYSQL_UNIX_ADDR PHP_MYSQL_UNIX_SOCK_ADDR
|
||||
#endif
|
||||
|
||||
#include "php_mysqli.h"
|
||||
|
||||
/* character set support */
|
||||
#if defined(MYSQLND_VERSION_ID) || MYSQL_VERSION_ID > 50009
|
||||
#define HAVE_MYSQLI_GET_CHARSET
|
||||
#endif
|
||||
|
||||
#if defined(MYSQLND_VERSION_ID) || (MYSQL_VERSION_ID > 40112 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID > 50005
|
||||
#define HAVE_MYSQLI_SET_CHARSET
|
||||
#endif
|
||||
|
||||
#define MYSQLI_VERSION_ID 101009
|
||||
|
||||
@ -196,7 +179,9 @@ typedef struct {
|
||||
#define PHP_MYSQLI_API __declspec(dllexport)
|
||||
#define MYSQLI_LLU_SPEC "%I64u"
|
||||
#define MYSQLI_LL_SPEC "%I64d"
|
||||
#ifndef L64
|
||||
#define L64(x) x##i64
|
||||
#endif
|
||||
typedef __int64 my_longlong;
|
||||
#else
|
||||
# if defined(__GNUC__) && __GNUC__ >= 4
|
||||
@ -208,7 +193,9 @@ typedef __int64 my_longlong;
|
||||
#include <inttypes.h>
|
||||
#define MYSQLI_LLU_SPEC "%" PRIu64
|
||||
#define MYSQLI_LL_SPEC "%" PRId64
|
||||
#ifndef L64
|
||||
#define L64(x) x##LL
|
||||
#endif
|
||||
typedef int64_t my_longlong;
|
||||
#endif
|
||||
|
||||
@ -216,38 +203,6 @@ typedef int64_t my_longlong;
|
||||
#include "TSRM.h"
|
||||
#endif
|
||||
|
||||
#define PHP_MYSQLI_EXPORT(__type) PHP_MYSQLI_API __type
|
||||
|
||||
extern const zend_function_entry mysqli_functions[];
|
||||
extern const zend_function_entry mysqli_link_methods[];
|
||||
extern const zend_function_entry mysqli_stmt_methods[];
|
||||
extern const zend_function_entry mysqli_result_methods[];
|
||||
extern const zend_function_entry mysqli_driver_methods[];
|
||||
extern const zend_function_entry mysqli_warning_methods[];
|
||||
extern const zend_function_entry mysqli_exception_methods[];
|
||||
|
||||
extern const mysqli_property_entry mysqli_link_property_entries[];
|
||||
extern const mysqli_property_entry mysqli_result_property_entries[];
|
||||
extern const mysqli_property_entry mysqli_stmt_property_entries[];
|
||||
extern const mysqli_property_entry mysqli_driver_property_entries[];
|
||||
extern const mysqli_property_entry mysqli_warning_property_entries[];
|
||||
|
||||
extern zend_property_info mysqli_link_property_info_entries[];
|
||||
extern zend_property_info mysqli_result_property_info_entries[];
|
||||
extern zend_property_info mysqli_stmt_property_info_entries[];
|
||||
extern zend_property_info mysqli_driver_property_info_entries[];
|
||||
extern zend_property_info mysqli_warning_property_info_entries[];
|
||||
|
||||
extern void php_mysqli_fetch_into_hash(INTERNAL_FUNCTION_PARAMETERS, int override_flag, int into_object);
|
||||
extern void php_clear_stmt_bind(MY_STMT *stmt TSRMLS_DC);
|
||||
extern void php_clear_mysql(MY_MYSQL *);
|
||||
extern MYSQLI_WARNING *php_get_warnings(MYSQL *mysql TSRMLS_DC);
|
||||
extern void php_clear_warnings(MYSQLI_WARNING *w);
|
||||
extern void php_free_stmt_bind_buffer(BIND_BUFFER bbuf, int type);
|
||||
extern void php_mysqli_report_error(const char *sqlstate, int errorno, const char *error TSRMLS_DC);
|
||||
extern void php_mysqli_report_index(const char *query, unsigned int status TSRMLS_DC);
|
||||
extern void php_set_local_infile_handler_default(MY_MYSQL *);
|
||||
extern void php_mysqli_throw_sql_exception(char *sqlstate, int errorno TSRMLS_DC, char *format, ...);
|
||||
extern zend_class_entry *mysqli_link_class_entry;
|
||||
extern zend_class_entry *mysqli_stmt_class_entry;
|
||||
extern zend_class_entry *mysqli_result_class_entry;
|
||||
@ -268,8 +223,6 @@ extern void php_mysqli_fetch_into_hash_aux(zval *return_value, MYSQL_RES * resul
|
||||
extern PHPAPI zend_class_entry *spl_ce_RuntimeException;
|
||||
#endif
|
||||
|
||||
PHP_MYSQLI_EXPORT(zend_object_value) mysqli_objects_new(zend_class_entry * TSRMLS_DC);
|
||||
|
||||
#define MYSQLI_DISABLE_MQ if (mysql->multi_query) { \
|
||||
mysql_set_server_option(mysql->mysql, MYSQL_OPTION_MULTI_STATEMENTS_OFF); \
|
||||
mysql->multi_query = 0; \
|
||||
@ -370,58 +323,6 @@ PHP_MYSQLI_EXPORT(zend_object_value) mysqli_objects_new(zend_class_entry * TSRML
|
||||
intern->ptr = NULL; \
|
||||
}
|
||||
|
||||
#define MYSQLI_RETURN_LONG_LONG(__val) \
|
||||
{ \
|
||||
if ((__val) < LONG_MAX) { \
|
||||
RETURN_LONG((long) (__val)); \
|
||||
} else { \
|
||||
char *ret; \
|
||||
/* always used with my_ulonglong -> %llu */ \
|
||||
int l = spprintf(&ret, 0, MYSQLI_LLU_SPEC, (__val)); \
|
||||
RETURN_STRINGL(ret, l, 0); \
|
||||
} \
|
||||
}
|
||||
|
||||
#define MYSQLI_STORE_RESULT 0
|
||||
#define MYSQLI_USE_RESULT 1
|
||||
#ifdef MYSQLI_USE_MYSQLND
|
||||
#define MYSQLI_ASYNC 8
|
||||
#else
|
||||
/* libmysql */
|
||||
#define MYSQLI_ASYNC 0
|
||||
#endif
|
||||
|
||||
/* for mysqli_fetch_assoc */
|
||||
#define MYSQLI_ASSOC 1
|
||||
#define MYSQLI_NUM 2
|
||||
#define MYSQLI_BOTH 3
|
||||
|
||||
/* fetch types */
|
||||
#define FETCH_SIMPLE 1
|
||||
#define FETCH_RESULT 2
|
||||
|
||||
/*** REPORT MODES ***/
|
||||
#define MYSQLI_REPORT_OFF 0
|
||||
#define MYSQLI_REPORT_ERROR 1
|
||||
#define MYSQLI_REPORT_STRICT 2
|
||||
#define MYSQLI_REPORT_INDEX 4
|
||||
#define MYSQLI_REPORT_CLOSE 8
|
||||
#define MYSQLI_REPORT_ALL 255
|
||||
|
||||
#define MYSQLI_REPORT_MYSQL_ERROR(mysql) \
|
||||
if ((MyG(report_mode) & MYSQLI_REPORT_ERROR) && mysql_errno(mysql)) { \
|
||||
php_mysqli_report_error(mysql_sqlstate(mysql), mysql_errno(mysql), mysql_error(mysql) TSRMLS_CC); \
|
||||
}
|
||||
|
||||
#define MYSQLI_REPORT_STMT_ERROR(stmt) \
|
||||
if ((MyG(report_mode) & MYSQLI_REPORT_ERROR) && mysql_stmt_errno(stmt)) { \
|
||||
php_mysqli_report_error(mysql_stmt_sqlstate(stmt), mysql_stmt_errno(stmt), mysql_stmt_error(stmt) TSRMLS_CC); \
|
||||
}
|
||||
|
||||
void mysqli_common_connect(INTERNAL_FUNCTION_PARAMETERS, zend_bool is_real_connect, zend_bool in_ctor);
|
||||
|
||||
void php_mysqli_init(INTERNAL_FUNCTION_PARAMETERS);
|
||||
|
||||
|
||||
ZEND_BEGIN_MODULE_GLOBALS(mysqli)
|
||||
long default_link;
|
||||
@ -459,122 +360,6 @@ ZEND_END_MODULE_GLOBALS(mysqli)
|
||||
|
||||
ZEND_EXTERN_MODULE_GLOBALS(mysqli)
|
||||
|
||||
|
||||
PHP_MINIT_FUNCTION(mysqli);
|
||||
PHP_MSHUTDOWN_FUNCTION(mysqli);
|
||||
PHP_RINIT_FUNCTION(mysqli);
|
||||
PHP_RSHUTDOWN_FUNCTION(mysqli);
|
||||
PHP_MINFO_FUNCTION(mysqli);
|
||||
|
||||
PHP_FUNCTION(mysqli);
|
||||
PHP_FUNCTION(mysqli_affected_rows);
|
||||
PHP_FUNCTION(mysqli_autocommit);
|
||||
PHP_FUNCTION(mysqli_change_user);
|
||||
PHP_FUNCTION(mysqli_character_set_name);
|
||||
PHP_FUNCTION(mysqli_set_charset);
|
||||
PHP_FUNCTION(mysqli_close);
|
||||
PHP_FUNCTION(mysqli_commit);
|
||||
PHP_FUNCTION(mysqli_connect);
|
||||
PHP_FUNCTION(mysqli_connect_errno);
|
||||
PHP_FUNCTION(mysqli_connect_error);
|
||||
PHP_FUNCTION(mysqli_data_seek);
|
||||
PHP_FUNCTION(mysqli_debug);
|
||||
PHP_FUNCTION(mysqli_dump_debug_info);
|
||||
PHP_FUNCTION(mysqli_errno);
|
||||
PHP_FUNCTION(mysqli_error);
|
||||
PHP_FUNCTION(mysqli_fetch_all);
|
||||
PHP_FUNCTION(mysqli_fetch_array);
|
||||
PHP_FUNCTION(mysqli_fetch_assoc);
|
||||
PHP_FUNCTION(mysqli_fetch_object);
|
||||
PHP_FUNCTION(mysqli_fetch_field);
|
||||
PHP_FUNCTION(mysqli_fetch_fields);
|
||||
PHP_FUNCTION(mysqli_fetch_field_direct);
|
||||
PHP_FUNCTION(mysqli_fetch_lengths);
|
||||
PHP_FUNCTION(mysqli_fetch_row);
|
||||
PHP_FUNCTION(mysqli_field_count);
|
||||
PHP_FUNCTION(mysqli_field_seek);
|
||||
PHP_FUNCTION(mysqli_field_tell);
|
||||
PHP_FUNCTION(mysqli_free_result);
|
||||
PHP_FUNCTION(mysqli_get_client_stats);
|
||||
PHP_FUNCTION(mysqli_get_connection_stats);
|
||||
PHP_FUNCTION(mysqli_get_charset);
|
||||
PHP_FUNCTION(mysqli_get_client_info);
|
||||
PHP_FUNCTION(mysqli_get_client_version);
|
||||
PHP_FUNCTION(mysqli_get_host_info);
|
||||
PHP_FUNCTION(mysqli_get_proto_info);
|
||||
PHP_FUNCTION(mysqli_get_server_info);
|
||||
PHP_FUNCTION(mysqli_get_server_version);
|
||||
PHP_FUNCTION(mysqli_get_warnings);
|
||||
PHP_FUNCTION(mysqli_info);
|
||||
PHP_FUNCTION(mysqli_insert_id);
|
||||
PHP_FUNCTION(mysqli_init);
|
||||
PHP_FUNCTION(mysqli_kill);
|
||||
PHP_FUNCTION(mysqli_link_construct);
|
||||
PHP_FUNCTION(mysqli_set_local_infile_default);
|
||||
PHP_FUNCTION(mysqli_set_local_infile_handler);
|
||||
PHP_FUNCTION(mysqli_more_results);
|
||||
PHP_FUNCTION(mysqli_multi_query);
|
||||
PHP_FUNCTION(mysqli_next_result);
|
||||
PHP_FUNCTION(mysqli_num_fields);
|
||||
PHP_FUNCTION(mysqli_num_rows);
|
||||
PHP_FUNCTION(mysqli_options);
|
||||
PHP_FUNCTION(mysqli_ping);
|
||||
PHP_FUNCTION(mysqli_poll);
|
||||
PHP_FUNCTION(mysqli_prepare);
|
||||
PHP_FUNCTION(mysqli_query);
|
||||
PHP_FUNCTION(mysqli_stmt_result_metadata);
|
||||
PHP_FUNCTION(mysqli_report);
|
||||
PHP_FUNCTION(mysqli_read_query_result);
|
||||
PHP_FUNCTION(mysqli_real_connect);
|
||||
PHP_FUNCTION(mysqli_real_query);
|
||||
PHP_FUNCTION(mysqli_real_escape_string);
|
||||
PHP_FUNCTION(mysqli_reap_async_query);
|
||||
PHP_FUNCTION(mysqli_rollback);
|
||||
PHP_FUNCTION(mysqli_row_seek);
|
||||
PHP_FUNCTION(mysqli_select_db);
|
||||
PHP_FUNCTION(mysqli_stmt_attr_get);
|
||||
PHP_FUNCTION(mysqli_stmt_attr_set);
|
||||
PHP_FUNCTION(mysqli_stmt_bind_param);
|
||||
PHP_FUNCTION(mysqli_stmt_bind_result);
|
||||
PHP_FUNCTION(mysqli_stmt_execute);
|
||||
PHP_FUNCTION(mysqli_stmt_field_count);
|
||||
PHP_FUNCTION(mysqli_stmt_init);
|
||||
PHP_FUNCTION(mysqli_stmt_prepare);
|
||||
PHP_FUNCTION(mysqli_stmt_fetch);
|
||||
PHP_FUNCTION(mysqli_stmt_param_count);
|
||||
PHP_FUNCTION(mysqli_stmt_send_long_data);
|
||||
PHP_FUNCTION(mysqli_embedded_server_end);
|
||||
PHP_FUNCTION(mysqli_embedded_server_start);
|
||||
PHP_FUNCTION(mysqli_sqlstate);
|
||||
PHP_FUNCTION(mysqli_ssl_set);
|
||||
PHP_FUNCTION(mysqli_stat);
|
||||
PHP_FUNCTION(mysqli_refresh);
|
||||
PHP_FUNCTION(mysqli_stmt_affected_rows);
|
||||
PHP_FUNCTION(mysqli_stmt_close);
|
||||
PHP_FUNCTION(mysqli_stmt_data_seek);
|
||||
PHP_FUNCTION(mysqli_stmt_errno);
|
||||
PHP_FUNCTION(mysqli_stmt_error);
|
||||
PHP_FUNCTION(mysqli_stmt_free_result);
|
||||
PHP_FUNCTION(mysqli_stmt_get_result);
|
||||
PHP_FUNCTION(mysqli_stmt_get_warnings);
|
||||
PHP_FUNCTION(mysqli_stmt_reset);
|
||||
PHP_FUNCTION(mysqli_stmt_insert_id);
|
||||
PHP_FUNCTION(mysqli_stmt_more_results);
|
||||
PHP_FUNCTION(mysqli_stmt_next_result);
|
||||
PHP_FUNCTION(mysqli_stmt_num_rows);
|
||||
PHP_FUNCTION(mysqli_stmt_sqlstate);
|
||||
PHP_FUNCTION(mysqli_stmt_store_result);
|
||||
PHP_FUNCTION(mysqli_store_result);
|
||||
PHP_FUNCTION(mysqli_thread_id);
|
||||
PHP_FUNCTION(mysqli_thread_safe);
|
||||
PHP_FUNCTION(mysqli_use_result);
|
||||
PHP_FUNCTION(mysqli_warning_count);
|
||||
|
||||
PHP_FUNCTION(mysqli_stmt_construct);
|
||||
PHP_FUNCTION(mysqli_result_construct);
|
||||
PHP_FUNCTION(mysqli_driver_construct);
|
||||
PHP_METHOD(mysqli_warning,__construct);
|
||||
|
||||
#endif /* PHP_MYSQLI_STRUCTS.H */
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user