Code de tri pour la structure pdo

不言
Libérer: 2023-04-03 07:38:01
original
1348 Les gens l'ont consulté

Cet article présente principalement le code pour trier la structure pdo, qui a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer

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;
}
Copier après la connexion

Ce qui précède est le. Contenu complet de l'article, j'espère qu'il sera utile à l'apprentissage de tout le monde. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

PHP génère un code QR pour l'applet WeChat avec des paramètres

À propos de php-fpm Gestion des numéros de processus

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!