Mysql
 sql >> Base de données >  >> RDS >> Mysql

Récupération de lignes dans une table de base de données MySQL à l'aide de l'API MySQL C et de C++

Dans l'API MySQL C, mysql_fetch_row renvoie un objet MYSQL_ROW, qui est essentiellement un tableau de valeurs dans la ligne actuelle.

Donc, votre code devrait ressembler à :

mysql_query(sqlhnd, "SELECT * FROM `my_table`");
MYSQL_RES *confres = mysql_store_result(sqlhnd);
int totalrows = mysql_num_rows(confres);
int numfields = mysql_num_fields(confres);
MYSQL_FIELD *mfield;

while((row = mysql_fetch_row(confres)))
{
    for(i = 0; i < numfields; i++)
    {
        char *val = row[i];
        // do something with val...
    }
}

Mieux encore, ne faites pas de "SELECT * FROM mytable " dans un programme. Il serait bien préférable de nommer les champs que vous attendez, afin d'être sûr de l'ordre des champs renvoyés.