Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


23.8.7.65 mysql_set_server_option()

int mysql_set_server_option(MYSQL *mysql, enum enum_mysql_set_option option)

説明

接続のオプションを有効または無効にします。option には次のいずれかの値を指定できます。

オプション 説明
MYSQL_OPTION_MULTI_STATEMENTS_ON 複数ステートメントのサポートを有効にします
MYSQL_OPTION_MULTI_STATEMENTS_OFF 複数ステートメントのサポートを無効にします

複数ステートメントのサポートを有効にする場合、mysql_next_result() を呼び出すループを使用して、それ以上の結果があるかどうかを判断することによって、mysql_query() または mysql_real_query() への呼び出しからの結果を取得してください。例については、セクション23.8.17「複数ステートメント実行の C API サポート」を参照してください。

MYSQL_OPTION_MULTI_STATEMENTS_ON による複数ステートメントのサポートの有効化は、CLIENT_MULTI_STATEMENTS フラグを mysql_real_connect() に渡すことによって、それを有効化する場合とまったく同じ効果を持つわけではありません。CLIENT_MULTI_STATEMENTSCLIENT_MULTI_RESULTS も有効にします。プログラムで CALL SQL ステートメントを使用している場合、複数結果のサポートを有効にする必要があります。これは、MYSQL_OPTION_MULTI_STATEMENTS_ON だけでは、CALL の使用を許可するのに不十分であることを意味します。

戻り値

成功の場合はゼロ。エラーが発生した場合、ゼロ以外。

エラー
  • CR_COMMANDS_OUT_OF_SYNC

    コマンドが正しくない順番で実行されました。

  • CR_SERVER_GONE_ERROR

    MySQL サーバーが存在しなくなりました。

  • CR_SERVER_LOST

    サーバーへの接続がクエリー中に失われました。

  • ER_UNKNOWN_COM_ERROR

    サーバーは mysql_set_server_option() をサポートしていなかった (これはサーバーが 4.1.1 より古い場合) か、または設定しようとしたオプションをサポートしていませんでした。


User Comments
  Posted by Chris Slominski on July 26, 2006
This does not do the same thing as setting CLIENT_MULTI_STATEMENTS in the call to mysql_real_connect. When you pass CLIENT_MULTI_STATEMENTS at connection time it also sets the CLIENT_MULTI_RESULTS flag. You don't appear to have control over multiple result sets when using mysql_set_server_option.
Sign Up Login You must be logged in to post a comment.