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.7.17「複数ステートメント実行の C API サポート」を参照してください。
MYSQL_OPTION_MULTI_STATEMENTS_ON
による複数ステートメントのサポートの有効化は、CLIENT_MULTI_STATEMENTS
フラグを mysql_real_connect()
に渡すことによって、それを有効化する場合とまったく同じ効果を持つわけではありません。CLIENT_MULTI_STATEMENTS
は CLIENT_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 より古い場合) か、または設定しようとしたオプションをサポートしていませんでした。