Maison > base de données > tutoriel mysql > Requête de données simple pour démarrer avec MySQL

Requête de données simple pour démarrer avec MySQL

黄舟
Libérer: 2017-01-19 15:50:55
original
1497 Les gens l'ont consulté

mysql_init initialise le lien de la base de données – obtient un lien mysql_real_connect se connecte au serveur de base de données et exécute la requête mysql_query – l'instruction de requête est une chaîne qui récupère chaque ligne séparément mysql_store_result – les résultats sont stockés dans le lien et sont uniques requête. Récupérez l'en-tête de la table à partir de l'ensemble de résultats. Informations – mysql_fetch_fields – les informations d'en-tête sont stockées dans l'espace mémoire pointé par le pointeur de type MYSQL_FIELD. Analysez l'en-tête – mysql_field_count pour obtenir le nombre de colonnes. mysql_fetch_row obtient les données ligne par ligne de l'ensemble de résultats et libère de la mémoire après avoir analysé chaque colonne pour chaque ligne. Espace

Fermer le lien

Code spécifique

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <dlfcn.h>
#include <mysql/mysql.h>
int main()
{
    int     ret = 0;
    int     i = 0;
    MYSQL   mysql;
    MYSQL   *con = NULL;
    unsigned int fieldnum;  
    printf("hello....\n");
    con = mysql_init(&mysql);
    if (con == NULL)
    {
        ret = mysql_errno(&mysql);
        printf("func mysql_init() err :%d\n", ret);
        return ret;
    }
    con = mysql_real_connect(&mysql, "localhost", "root", "123456", "mydb2", 0, NULL, 0 );
    if (con == NULL)
    {
        ret = mysql_errno(&mysql);
        printf("func mysql_real_connect() err :%d\n", ret);
        return ret;
    }
    else
    {
        printf("func mysql_real_connect() ok\n");
    }
    //执行sql查询
    mysql_query(&mysql, "set names utf8");//解决中文乱码
    char *sql = "select *from employee";
    ret = mysql_query(&mysql, sql);
    if (ret != 0)
    {
        ret = mysql_errno(&mysql);
        printf("func mysql_query() err :%d\n", ret);
        return ret;
    }
    /*
    //获取结果集 一次性获取
    MYSQL_RES * sqlres =mysql_store_result( &mysql);
    if (sqlres == NULL)
    {
        ret = mysql_errno(&mysql);
        printf("func mysql_store_result() err :%d\n", ret);
        return ret;
    }
    */
    //对每一行分别进行检索
    MYSQL_RES * sqlres =mysql_store_result(&mysql);
    if (sqlres == NULL)
    {
        ret = mysql_errno(&mysql);
        printf("func mysql_store_result() err :%d\n", ret);
        return ret;
    }
    //从结果集,获取表头信息
    MYSQL_FIELD *fields = mysql_fetch_fields(sqlres);
    fieldnum = mysql_field_count(&mysql);
    for (i=0; i<fieldnum; i++)
    {
        printf("%s\t", fields[i].name);
    }
    printf("\n");
    //从结果集, 按照行获取信息信息
    MYSQL_ROW row = NULL; //(char **)
    //从结果集中一行一行的获取数据
    while (  row = mysql_fetch_row(sqlres))
    {
        fieldnum = mysql_field_count(&mysql); 
        //优化,我的行有多少列。。。。查找这样的api函数
        for (i=0; i<fieldnum; i++) //经过测试 发现 不是以0结尾的指针数组。。
        {
            printf("%s\t", row[i]);
        }
        printf("\n");
    }
    mysql_free_result(sqlres);
    mysql_close(&mysql);
    return ret;
}
Copier après la connexion

Ce qui précède est. le contenu d'une simple requête de données pour démarrer avec MySQL Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php .cn) !


Étiquettes associées:
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