MYSQL_BIND结构体_对于pdo结构体的梳理代码

这篇文章主要介绍了关于对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中文网!

相关推荐:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值