関数リファレンス
   

関数

mysql_stat()
サーバ状態を返す(文字列)
   

書式

char *mysql_stat(mysql)

MYSQL *mysql MYSQL構造体

戻り値

サーバ状態を表わす文字列。エラーが発生した場合 NULL

エラー

CR_COMMANDS_OUT_OF_SYNC 不当な順にコマンドが実行された
CR_SERVER_GONE_ERROR MySQL サーバがいなくなった
CR_SERVER_LOST サーバへの接続がクエリ中に失われた
CR_UNKNOWN_ERROR 未知のエラーが発生した
   

機能

mysqladmin status で提供されるのと同様の情報を文字列として返します。これは秒での uptime と、実行中のスレッド数、問い合わせ数、再読み込み数、オープンテーブル数を含みます。

文字列は"Uptime: **** Threads: **** Questions: **** Slow queries: **** Opens: **** Flush tables: **** Open tables: ****"のとおりです。

サンプルにもありますがsscanf関数を使うと便利です。
   

サンプル

char stat[256];
long Uptime;
long Threads;
long Questions;
long Slow_queries;
long Opens;
long Flush_table;
long Open_tables;

strcpy(stat,mysql_stat(myData));
if(stat!=NULL){
    sscanf(stat,"Uptime: %ld Threads: %ld Questions: %ld Slow queries: %ld Opens: %ld Flush tables: %ld Open tables: %ld",
                    &Uptime,
                    &Threads,
                    &Questions,
                    &Slow_queries,
                    &Opens,
                    &Flush_table,
                    &Open_tables
                    );

    char work[256];
    // UPTIME
    sprintf(work,"%d",Uptime);
    SetDlgItemText(IDC_UPTIME,work);   // テキストボックスへ格納
}

statのNULL判定を行わないと、mysql_stat関数が失敗した場合、一般保護が発生するので気をつけてください。

Japanese MySQL Manualより抜粋