⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 php_mysqli.h

📁 linux下安装不上mysql5与php5的可用此关联
💻 H
📖 第 1 页 / 共 2 页
字号:
/*  +----------------------------------------------------------------------+  | PHP Version 6                                                        |  +----------------------------------------------------------------------+  | Copyright (c) 1997-2007 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.               |  +----------------------------------------------------------------------+  | Authors: Georg Richter <georg@php.net>                               |  |          Andrey Hristov <andrey@php.net>                             |  |          Ulf Wendel <uw@php.net>                                     |  +----------------------------------------------------------------------+  $Id: php_mysqli.h,v 1.63 2007/01/01 09:29:26 sebastian Exp $ *//* A little hack to prevent build break, when mysql is used together with * c-client, which also defines LIST. */#ifdef LIST#undef LIST#endif#if defined(HAVE_MYSQLND)#include "ext/mysqli/mysqlnd/mysqlnd.h"#include "ext/mysqli/mysqli_mysqlnd.h"#else#include <mysql.h>#include <errmsg.h>#include "ext/mysqli/mysqli_libmysql.h"#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#define MYSQLI_UC_UTF8	1#define MYSQLI_UC_UCS2	2#ifndef PHP_MYSQLI_H#define PHP_MYSQLI_H#define MYSQLI_VERSION_ID		101008enum mysqli_status {	MYSQLI_STATUS_UNKNOWN=0,	MYSQLI_STATUS_CLEARED,	MYSQLI_STATUS_INITIALIZED,	MYSQLI_STATUS_VALID};typedef struct {	void			*buf;		/* buffer: binary or unicode data */		unsigned int	buflen;		/* buffer length */	zend_uchar		buftype;	/* buffer type */	UErrorCode		status;		/* error code */} MYSQLI_STRING;typedef struct {	ulong		buflen;	char		*val;	ulong		type;} VAR_BUFFER;typedef struct {	unsigned int	var_cnt;	VAR_BUFFER		*buf;	zval			**vars;	char			*is_null;} BIND_BUFFER;typedef struct {	MYSQL_STMT	*stmt;	BIND_BUFFER	param;	BIND_BUFFER	result;	char		*query;} MY_STMT;typedef struct {	MYSQL			*mysql;	zval			*li_read;	php_stream		*li_stream;	zend_bool		persistent;	unsigned int	multi_query;	UConverter		*conv;} MY_MYSQL;typedef struct {	int			mode;	int			socket;	FILE		*fp;} PROFILER;typedef struct {	void				*ptr;		/* resource: (mysql, result, stmt)   */	void				*info;		/* additional buffer				 */	enum mysqli_status	status;		/* object status */} MYSQLI_RESOURCE;typedef struct _mysqli_object {	zend_object 	zo;	void 			*ptr;	HashTable 		*prop_handler;} mysqli_object; /* extends zend_object */typedef struct st_mysqli_warning MYSQLI_WARNING;struct st_mysqli_warning {	zval	reason;	zval	sqlstate;	int		errorno;   	MYSQLI_WARNING	*next;};typedef struct _mysqli_property_entry {	char *pname;	int (*r_func)(mysqli_object *obj, zval **retval TSRMLS_DC);	int (*w_func)(mysqli_object *obj, zval *value TSRMLS_DC);} mysqli_property_entry;#if !defined(HAVE_MYSQLND)typedef struct {	char	error_msg[LOCAL_INFILE_ERROR_LEN];	void	*userdata;} mysqli_local_infile;#endif#define phpext_mysqli_ptr &mysqli_module_entry#ifdef PHP_WIN32#define PHP_MYSQLI_API __declspec(dllexport)#define MYSQLI_LLU_SPEC "%I64u"#define MYSQLI_LL_SPEC "%I64d"#define L64(x) x##i64typedef __int64 my_longlong;#else#define PHP_MYSQLI_API#define MYSQLI_LLU_SPEC "%llu"#define MYSQLI_LL_SPEC "%lld"#define L64(x) x##LLtypedef long long my_longlong;#endif#ifdef ZTS#include "TSRM.h"#endif#define PHP_MYSQLI_EXPORT(__type) PHP_MYSQLI_API __typeextern zend_module_entry mysqli_module_entry;extern zend_function_entry mysqli_functions[];extern zend_function_entry mysqli_link_methods[];extern zend_function_entry mysqli_stmt_methods[];extern zend_function_entry mysqli_result_methods[];extern zend_function_entry mysqli_driver_methods[];extern zend_function_entry mysqli_warning_methods[];extern zend_function_entry mysqli_exception_methods[];extern mysqli_property_entry mysqli_link_property_entries[];extern mysqli_property_entry mysqli_result_property_entries[];extern mysqli_property_entry mysqli_stmt_property_entries[];extern mysqli_property_entry mysqli_driver_property_entries[];extern mysqli_property_entry mysqli_warning_property_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 int php_local_infile_init(void **, const char *, void *);extern int php_local_infile_read(void *, char *, uint);extern void php_local_infile_end(void *);extern int php_local_infile_error(void *, char *, uint);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;extern zend_class_entry *mysqli_driver_class_entry;extern zend_class_entry *mysqli_warning_class_entry;extern zend_class_entry *mysqli_exception_class_entry;extern int php_le_pmysqli(void);#ifdef HAVE_SPLextern PHPAPI zend_class_entry *spl_ce_RuntimeException;#endifPHP_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 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 MYSQLI_REGISTER_RESOURCE_EX(__ptr, __zval)  \	((mysqli_object *) zend_object_store_get_object(__zval TSRMLS_CC))->ptr = __ptr; #define MYSQLI_RETURN_RESOURCE(__ptr, __ce) \	Z_TYPE_P(return_value) = IS_OBJECT; \	(return_value)->value.obj = mysqli_objects_new(__ce TSRMLS_CC); \	MYSQLI_REGISTER_RESOURCE_EX(__ptr, return_value)#define MYSQLI_REGISTER_RESOURCE(__ptr, __ce) \{\	zval *object = getThis();\	if (!object || !instanceof_function(Z_OBJCE_P(object), mysqli_link_class_entry TSRMLS_CC)) {\		object = return_value;\		Z_TYPE_P(object) = IS_OBJECT;\		(object)->value.obj = mysqli_objects_new(__ce TSRMLS_CC);\	}\	MYSQLI_REGISTER_RESOURCE_EX(__ptr, object)\}#define MYSQLI_FETCH_RESOURCE(__ptr, __type, __id, __name, __check) \{ \	MYSQLI_RESOURCE *my_res; \	mysqli_object *intern = (mysqli_object *)zend_object_store_get_object(*(__id) TSRMLS_CC);\	if (!(my_res = (MYSQLI_RESOURCE *)intern->ptr)) {\  		php_error_docref(NULL TSRMLS_CC, E_WARNING, "Couldn't fetch %v", intern->zo.ce->name);\  		RETURN_NULL();\  	}\	__ptr = (__type)my_res->ptr; \	if (__check && my_res->status < __check) { \		php_error_docref(NULL TSRMLS_CC, E_WARNING, "invalid object or resource %v\n", intern->zo.ce->name); \		RETURN_NULL();\	}\}#define MYSQLI_SET_STATUS(__id, __value) \{ \	mysqli_object *intern = (mysqli_object *)zend_object_store_get_object(*(__id) TSRMLS_CC);\

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -