Mysql
 sql >> Database >  >> RDS >> Mysql

Recupero di righe in una tabella di database MySQL utilizzando MySQL C API e C++

Nell'API C di MySQL, mysql_fetch_row restituisce un oggetto MYSQL_ROW, che è essenzialmente un array di valori nella riga corrente.

Quindi, il tuo codice dovrebbe essere qualcosa del tipo:

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...
    }
}

Meglio ancora, non fare un "SELECT * FROM mytable " in un programma. Sarebbe molto meglio nominare i campi che ti aspetti, in modo da essere sicuro dell'ordine dei campi restituiti.