這篇文章主要介紹了關於pdo結構體的梳理程式碼,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
typedef struct { pdo_mysql_db_handle *H; MYSQL_RES *result; const MYSQL_FIELD *fields; MYSQL_ROW current_data; #if PDO_USE_MYSQLND const size_t *current_lengths; #else zend_long *current_lengths; #endif pdo_mysql_error_info einfo; #if PDO_USE_MYSQLND MYSQLND_STMT *stmt; //st_mysqlnd_stmt #else MYSQL_STMT *stmt; #endif int num_params; PDO_MYSQL_PARAM_BIND *params; #ifndef PDO_USE_MYSQLND my_bool *in_null; zend_ulong *in_length; #endif PDO_MYSQL_PARAM_BIND *bound_result; my_bool *out_null; zend_ulong *out_length; unsigned int params_given; unsigned max_length:1; } pdo_mysql_stmt; struct st_mysqlnd_stmt { MYSQLND_STMT_DATA * data;///st_mysqlnd_stmt_data MYSQLND_CLASS_METHODS_TYPE(mysqlnd_stmt) * m; zend_bool persistent; }; struct st_mysqlnd_res { MYSQLND_CONN_DATA *conn; enum_mysqlnd_res_type type; unsigned int field_count; /* For metadata functions */ MYSQLND_RES_METADATA *meta; /* To be used with store_result() - both normal and PS */ MYSQLND_RES_BUFFERED *stored_data; MYSQLND_RES_UNBUFFERED *unbuf; zend_bool persistent; MYSQLND_CLASS_METHODS_TYPE(mysqlnd_res) m; }; struct st_mysqlnd_stmt_data { MYSQLND_CONN_DATA *conn; MYSQLND_RES *result; unsigned int field_count; unsigned int param_count; MYSQLND_CMD_BUFFER execute_cmd_buffer; unsigned int execute_count;/* count how many times the stmt was executed */ }; struct _pdo_stmt_t { /* driver specifics */ struct pdo_stmt_methods *methods; void *driver_data; /* if true, we've already successfully executed this statement at least * once */ unsigned executed:1; /* if true, the statement supports placeholders and can implement * bindParam() for its prepared statements, if false, PDO should * emulate prepare and bind on its behalf */ unsigned supports_placeholders:2; unsigned _reserved:29; /* the number of columns in the result set; not valid until after * the statement has been executed at least once. In some cases, might * not be valid until fetch (at the driver level) has been called at least once. * */ int column_count; struct pdo_column_data *columns; }
以上就是本文的全部內容,希望對大家的學習有幫助,更多相關內容請關注PHP中文網!
相關建議:
以上是對於pdo結構體的梳理程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!