MySQL C APIでは、 mysql_fetch_row MYSQL_ROWオブジェクトを返します。これは、基本的に現在の行の値の配列です。
したがって、コードは次のようになります。
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...
}
}
さらに良いことに、「SELECT * FROM mytable
」は実行しないでください。 "プログラム内。返されるフィールドの順序を確認できるように、期待するフィールドに名前を付ける方がはるかに良いでしょう。