Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Abrufen von Zeilen in einer MySQL-Datenbanktabelle mit MySQL C API und C++

In der MySQL-C-API mysql_fetch_row gibt ein MYSQL_ROW-Objekt zurück, das im Wesentlichen ein Array von Werten in der aktuellen Zeile ist.

Ihr Code sollte also etwa so aussehen:

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

Besser noch, machen Sie kein "SELECT * FROM mytable " in einem Programm. Es wäre viel besser, die erwarteten Felder zu benennen, damit Sie sich über die Reihenfolge der zurückgegebenen Felder sicher sein können.