MYSQL_ROW mysql_fetch_row(MYSQL_RES
          *result)
        
説明
          結果セットの次のレコードを取得します。mysql_store_result()
          を呼び出した後に mysql_fetch_row()
          を使用する場合、取得するレコードが残っていなければ
          NULL
          を返します。mysql_use_result()
          を呼び出した後に mysql_fetch_row()
          を使用する場合、取得するレコードが残っていないか、またはエラーが発生したときに
          NULL を返します。
        
          レコードに含まれる値の数は
          mysql_num_fields(result)
          によって取得します。mysql_fetch_row()
          を呼び出してその戻り値が row
          に格納されている場合、値へのポインタは
          row[0] から
          row[mysql_num_fields(result)-1]
          のように表されます。NULL
          ポインタは、レコードの値が
          NULL 値であることを示します。
        
          mysql_fetch_lengths()
          を呼び出すと、レコードのフィールド値の長さを取得できます。空のフィールドおよび
          NULL
          を含むフィールドの長さはどちらも 0
          ですが、そのフィールドのポインタを調べることによってその
          2 つを区別できます。ポインタが
          NULL の場合、フィールドの値は
          NULL
          です。それ以外の場合、フィールドは空です。
        
戻り値
          次のレコードの MYSQL_ROW
          構造体。取得するレコードが残っていないか、エラーが発生した場合は
          NULL。
        
エラー
          注意: mysql_fetch_row() を 1
          回呼び出してから、次に呼び出すまでの間にエラーがリセットされることはありません。
        
              CR_SERVER_LOST
            
クエリの実行中にサーバへの接続が切断された。
              CR_UNKNOWN_ERROR
            
不明なエラーが発生した。
例
MYSQL_ROW row;
unsigned int num_fields;
unsigned int i;
num_fields = mysql_num_fields(result);
while ((row = mysql_fetch_row(result)))
{
   unsigned long *lengths;
   lengths = mysql_fetch_lengths(result);
   for(i = 0; i < num_fields; i++)
   {
       printf("[%.*s] ", (int) lengths[i], row[i] ? row[i] : "NULL");
   }
   printf("\n");
}
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

