> 백엔드 개발 > PHP 튜토리얼 > pdo 구조의 정렬 코드

pdo 구조의 정렬 코드

不言
풀어 주다: 2023-04-03 07:38:01
원래의
1382명이 탐색했습니다.

이 글은 주로 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 중국어 웹사이트에서 더 많은 관련 콘텐츠를 확인하세요!

관련 권장사항:

PHP는 매개변수를 사용하여 WeChat 애플릿용 QR 코드를 생성합니다

php-fpm 프로세스 번호 관리 정보

위 내용은 pdo 구조의 정렬 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿