php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
php_mysqli_structs.h File Reference
#include "ext/mysqlnd/mysqlnd.h"
#include "mysqli_mysqlnd.h"
#include <inttypes.h>

Go to the source code of this file.

Data Structures

struct  VAR_BUFFER
 
struct  BIND_BUFFER
 
struct  MY_STMT
 
struct  MY_MYSQL
 
struct  MYSQLI_RESOURCE
 
struct  _mysqli_object
 
struct  st_mysqli_warning
 
struct  _mysqli_property_entry
 
struct  mysqli_plist_entry
 

Macros

#define MYSQLI_VERSION_ID   101009
 
#define Z_MYSQLI_P(zv)
 
#define PHP_MYSQLI_API
 
#define L64(x)
 
#define MYSQLI_LLU_SPEC   "%" PRIu64
 
#define MYSQLI_LL_SPEC   "%" PRId64
 
#define MYSQLI_DISABLE_MQ
 
#define MYSQLI_ENABLE_MQ
 
#define MYSQLI_REGISTER_RESOURCE_EX(__ptr, __zval)
 
#define MYSQLI_RETVAL_RESOURCE(__ptr, __ce)
 
#define MYSQLI_REGISTER_RESOURCE(__ptr, __ce)
 
#define MYSQLI_FETCH_RESOURCE(__ptr, __type, __id, __name, __check)
 
#define MYSQLI_FETCH_RESOURCE_BY_OBJ(__ptr, __type, __obj, __name, __check)
 
#define MYSQLI_FETCH_RESOURCE_CONN(__ptr, __id, __check)
 
#define MYSQLI_FETCH_RESOURCE_STMT(__ptr, __id, __check)
 
#define MYSQLI_SET_STATUS(__id, __value)
 
#define MYSQLI_CLEAR_RESOURCE(__id)
 
#define MyG(v)
 

Typedefs

typedef struct _mysqli_object mysqli_object
 
typedef struct st_mysqli_warning MYSQLI_WARNING
 
typedef struct _mysqli_property_entry mysqli_property_entry
 
typedef int64_t my_longlong
 

Enumerations

enum  mysqli_status { MYSQLI_STATUS_UNKNOWN =0 , MYSQLI_STATUS_INITIALIZED , MYSQLI_STATUS_VALID }
 

Functions

int php_le_pmysqli (void)
 
void php_mysqli_dtor_p_elements (void *data)
 
void php_mysqli_close (MY_MYSQL *mysql, int close_type, int resource_status)
 
zend_object_iteratorphp_mysqli_result_get_iterator (zend_class_entry *ce, zval *object, int by_ref)
 
void php_mysqli_fetch_into_hash_aux (zval *return_value, MYSQL_RES *result, zend_long fetchtype)
 

Variables

zend_class_entrymysqli_link_class_entry
 
zend_class_entrymysqli_stmt_class_entry
 
zend_class_entrymysqli_result_class_entry
 
zend_class_entrymysqli_driver_class_entry
 
zend_class_entrymysqli_warning_class_entry
 
zend_class_entrymysqli_exception_class_entry
 
const zend_object_iterator_funcs php_mysqli_result_iterator_funcs
 
zend_long num_links
 
zend_long max_links
 
zend_long num_active_persistent
 
zend_long num_inactive_persistent
 
zend_long max_persistent
 
bool allow_persistent
 
zend_ulong default_port
 
char * default_host
 
char * default_user
 
char * default_pw
 
char * default_socket
 
bool allow_local_infile
 
char * local_infile_directory
 
zend_long error_no
 
char * error_msg
 
zend_long report_mode
 
bool rollback_on_cached_plink
 

Macro Definition Documentation

◆ L64

#define L64 ( x)
Value:
x##LL

Definition at line 123 of file php_mysqli_structs.h.

◆ MyG

#define MyG ( v)
Value:
uint32_t v
Definition cdf.c:1237
#define ZEND_MODULE_GLOBALS_ACCESSOR(module_name, v)
Definition zend_API.h:274

Definition at line 258 of file php_mysqli_structs.h.

◆ MYSQLI_CLEAR_RESOURCE

#define MYSQLI_CLEAR_RESOURCE ( __id)
Value:
{ \
mysqli_object *intern = Z_MYSQLI_P(__id); \
efree(intern->ptr); \
intern->ptr = NULL; \
}
#define NULL
Definition gdcache.h:45
#define Z_MYSQLI_P(zv)
struct _mysqli_object mysqli_object

Definition at line 230 of file php_mysqli_structs.h.

◆ MYSQLI_DISABLE_MQ

#define MYSQLI_DISABLE_MQ
Value:
if (mysql->multi_query) { \
mysql_set_server_option(mysql->mysql, MYSQL_OPTION_MULTI_STATEMENTS_OFF); \
mysql->multi_query = 0; \
}
@ MYSQL_OPTION_MULTI_STATEMENTS_OFF

Definition at line 153 of file php_mysqli_structs.h.

◆ MYSQLI_ENABLE_MQ

#define MYSQLI_ENABLE_MQ
Value:
if (!mysql->multi_query) { \
mysql_set_server_option(mysql->mysql, MYSQL_OPTION_MULTI_STATEMENTS_ON); \
mysql->multi_query = 1; \
}
@ MYSQL_OPTION_MULTI_STATEMENTS_ON

Definition at line 158 of file php_mysqli_structs.h.

◆ MYSQLI_FETCH_RESOURCE

#define MYSQLI_FETCH_RESOURCE ( __ptr,
__type,
__id,
__name,
__check )
Value:
{ \
MYSQLI_RESOURCE *my_res; \
mysqli_object *intern = Z_MYSQLI_P(__id); \
if (!(my_res = (MYSQLI_RESOURCE *)intern->ptr)) {\
zend_throw_error(NULL, "%s object is already closed", ZSTR_VAL(intern->zo.ce->name));\
RETURN_THROWS();\
}\
__ptr = (__type)my_res->ptr; \
if (my_res->status < __check) { \
zend_throw_error(NULL, "%s object is not fully initialized", ZSTR_VAL(intern->zo.ce->name)); \
RETURN_THROWS();\
}\
}
enum mysqli_status status
zend_string * name
Definition zend.h:149
zend_class_entry * ce
Definition zend_types.h:560
#define ZSTR_VAL(zstr)
Definition zend_string.h:68

Definition at line 180 of file php_mysqli_structs.h.

◆ MYSQLI_FETCH_RESOURCE_BY_OBJ

#define MYSQLI_FETCH_RESOURCE_BY_OBJ ( __ptr,
__type,
__obj,
__name,
__check )
Value:
{ \
MYSQLI_RESOURCE *my_res; \
if (!(my_res = (MYSQLI_RESOURCE *)(__obj->ptr))) {\
zend_throw_error(NULL, "%s object is already closed", ZSTR_VAL(intern->zo.ce->name));\
return;\
}\
__ptr = (__type)my_res->ptr; \
if (my_res->status < __check) { \
zend_throw_error(NULL, "%s object is not fully initialized", ZSTR_VAL(intern->zo.ce->name)); \
return;\
}\
}

Definition at line 195 of file php_mysqli_structs.h.

◆ MYSQLI_FETCH_RESOURCE_CONN

#define MYSQLI_FETCH_RESOURCE_CONN ( __ptr,
__id,
__check )
Value:
{ \
MYSQLI_FETCH_RESOURCE((__ptr), MY_MYSQL *, (__id), "mysqli_link", (__check)); \
if (!(__ptr)->mysql) { \
zend_throw_error(NULL, "%s object is not fully initialized", ZSTR_VAL(Z_OBJCE_P(__id)->name)); \
RETURN_THROWS(); \
} \
}
#define Z_OBJCE_P(zval_p)
zend_string * name

Definition at line 209 of file php_mysqli_structs.h.

◆ MYSQLI_FETCH_RESOURCE_STMT

#define MYSQLI_FETCH_RESOURCE_STMT ( __ptr,
__id,
__check )
Value:
{ \
MYSQLI_FETCH_RESOURCE((__ptr), MY_STMT *, (__id), "mysqli_stmt", (__check)); \
ZEND_ASSERT((__ptr)->stmt && "Missing statement?"); \
}

Definition at line 218 of file php_mysqli_structs.h.

◆ MYSQLI_LL_SPEC

#define MYSQLI_LL_SPEC   "%" PRId64

Definition at line 131 of file php_mysqli_structs.h.

◆ MYSQLI_LLU_SPEC

#define MYSQLI_LLU_SPEC   "%" PRIu64

Definition at line 130 of file php_mysqli_structs.h.

◆ MYSQLI_REGISTER_RESOURCE

#define MYSQLI_REGISTER_RESOURCE ( __ptr,
__ce )
Value:
{\
zval *object = getThis(); \
if (!object || !instanceof_function(Z_OBJCE_P(object), mysqli_link_class_entry)) { \
object = return_value; \
ZVAL_OBJ(object, mysqli_objects_new(__ce)); \
} \
MYSQLI_REGISTER_RESOURCE_EX(__ptr, object)\
}
zend_class_entry * mysqli_link_class_entry
Definition mysqli.c:66
#define getThis()
Definition zend_API.h:526
struct _zval_struct zval
zval * return_value

Definition at line 170 of file php_mysqli_structs.h.

◆ MYSQLI_REGISTER_RESOURCE_EX

#define MYSQLI_REGISTER_RESOURCE_EX ( __ptr,
__zval )
Value:
(Z_MYSQLI_P(__zval))->ptr = __ptr;
void * ptr
Definition ffi.c:3814

Definition at line 163 of file php_mysqli_structs.h.

◆ MYSQLI_RETVAL_RESOURCE

#define MYSQLI_RETVAL_RESOURCE ( __ptr,
__ce )
Value:
RETVAL_OBJ(mysqli_objects_new(__ce)); \
MYSQLI_REGISTER_RESOURCE_EX(__ptr, return_value)
#define RETVAL_OBJ(r)
Definition zend_API.h:1026

Definition at line 166 of file php_mysqli_structs.h.

◆ MYSQLI_SET_STATUS

#define MYSQLI_SET_STATUS ( __id,
__value )
Value:
{ \
mysqli_object *intern = Z_MYSQLI_P(__id); \
((MYSQLI_RESOURCE *)intern->ptr)->status = __value; \
} \

Definition at line 224 of file php_mysqli_structs.h.

◆ MYSQLI_VERSION_ID

#define MYSQLI_VERSION_ID   101009

Definition at line 33 of file php_mysqli_structs.h.

◆ PHP_MYSQLI_API

#define PHP_MYSQLI_API

Definition at line 120 of file php_mysqli_structs.h.

◆ Z_MYSQLI_P

#define Z_MYSQLI_P ( zv)
Value:
php_mysqli_fetch_object(Z_OBJ_P((zv)))
zval * zv
Definition ffi.c:3975
#define Z_OBJ_P(zval_p)
Definition zend_types.h:990

Definition at line 88 of file php_mysqli_structs.h.

Typedef Documentation

◆ my_longlong

typedef int64_t my_longlong

Definition at line 125 of file php_mysqli_structs.h.

◆ mysqli_object

typedef struct _mysqli_object mysqli_object

◆ mysqli_property_entry

◆ MYSQLI_WARNING

Definition at line 90 of file php_mysqli_structs.h.

Enumeration Type Documentation

◆ mysqli_status

Enumerator
MYSQLI_STATUS_UNKNOWN 
MYSQLI_STATUS_INITIALIZED 
MYSQLI_STATUS_VALID 

Definition at line 35 of file php_mysqli_structs.h.

Function Documentation

◆ php_le_pmysqli()

int php_le_pmysqli ( void )
extern

Definition at line 108 of file mysqli.c.

◆ php_mysqli_close()

void php_mysqli_close ( MY_MYSQL * mysql,
int close_type,
int resource_status )
extern

Definition at line 234 of file mysqli_api.c.

◆ php_mysqli_dtor_p_elements()

void php_mysqli_dtor_p_elements ( void * data)
extern

Definition at line 90 of file mysqli.c.

◆ php_mysqli_fetch_into_hash_aux()

void php_mysqli_fetch_into_hash_aux ( zval * return_value,
MYSQL_RES * result,
zend_long fetchtype )
extern

Definition at line 727 of file mysqli.c.

◆ php_mysqli_result_get_iterator()

zend_object_iterator * php_mysqli_result_get_iterator ( zend_class_entry * ce,
zval * object,
int by_ref )
extern

Definition at line 42 of file mysqli_result_iterator.c.

Variable Documentation

◆ allow_local_infile

bool allow_local_infile

Definition at line 250 of file php_mysqli_structs.h.

◆ allow_persistent

bool allow_persistent

Definition at line 244 of file php_mysqli_structs.h.

◆ default_host

char* default_host

Definition at line 246 of file php_mysqli_structs.h.

◆ default_port

zend_ulong default_port

Definition at line 245 of file php_mysqli_structs.h.

◆ default_pw

char* default_pw

Definition at line 248 of file php_mysqli_structs.h.

◆ default_socket

char* default_socket

Definition at line 249 of file php_mysqli_structs.h.

◆ default_user

char* default_user

Definition at line 247 of file php_mysqli_structs.h.

◆ error_msg

char* error_msg

Definition at line 253 of file php_mysqli_structs.h.

◆ error_no

zend_long error_no

Definition at line 252 of file php_mysqli_structs.h.

◆ local_infile_directory

char* local_infile_directory

Definition at line 251 of file php_mysqli_structs.h.

◆ max_links

zend_long max_links

Definition at line 240 of file php_mysqli_structs.h.

◆ max_persistent

zend_long max_persistent

Definition at line 243 of file php_mysqli_structs.h.

◆ mysqli_driver_class_entry

zend_class_entry* mysqli_driver_class_entry
extern

Definition at line 69 of file mysqli.c.

◆ mysqli_exception_class_entry

zend_class_entry* mysqli_exception_class_entry
extern

Definition at line 71 of file mysqli.c.

◆ mysqli_link_class_entry

zend_class_entry* mysqli_link_class_entry
extern

Definition at line 66 of file mysqli.c.

◆ mysqli_result_class_entry

zend_class_entry* mysqli_result_class_entry
extern

Definition at line 68 of file mysqli.c.

◆ mysqli_stmt_class_entry

zend_class_entry* mysqli_stmt_class_entry
extern

Definition at line 67 of file mysqli.c.

◆ mysqli_warning_class_entry

zend_class_entry* mysqli_warning_class_entry
extern

Definition at line 70 of file mysqli.c.

◆ num_active_persistent

zend_long num_active_persistent

Definition at line 241 of file php_mysqli_structs.h.

◆ num_inactive_persistent

zend_long num_inactive_persistent

Definition at line 242 of file php_mysqli_structs.h.

◆ num_links

zend_long num_links

Definition at line 239 of file php_mysqli_structs.h.

◆ php_mysqli_result_iterator_funcs

const zend_object_iterator_funcs php_mysqli_result_iterator_funcs
extern

Definition at line 143 of file mysqli_result_iterator.c.

◆ report_mode

zend_long report_mode

Definition at line 254 of file php_mysqli_structs.h.

◆ rollback_on_cached_plink

bool rollback_on_cached_plink

Definition at line 255 of file php_mysqli_structs.h.