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.55 mysql_real_query()

int mysql_real_query(MYSQL *mysql, const char *stmt_str, unsigned long length)

説明

length バイト長の文字列 stmt_str によって指示された SQL ステートメントを実行します。通常、文字列は終端のセミコロン (;) または \g を含まない単一の SQL ステートメントから構成されている必要があります。複数ステートメントの実行が有効にされている場合、文字列には、セミコロンで区切られた複数のステートメントを含めることができます。セクション23.8.17「複数ステートメント実行の C API サポート」を参照してください。

バイナリデータを含むステートメントには、mysql_query() を使うことはできません。代わりに、mysql_real_query() を使う必要があります。(バイナリデータには、mysql_query() がステートメント文字列の終端と解釈する \0 文字が含まれることがあります。)さらに、mysql_real_query() はステートメント文字列に対して strlen() を呼び出さないため、mysql_query() より高速です。

ステートメントが結果セットを返すかどうかを知りたい場合は、mysql_field_count() を使用してこれをチェックできます。セクション23.8.7.22「mysql_field_count()」を参照してください。

戻り値

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

エラー
  • CR_COMMANDS_OUT_OF_SYNC

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

  • CR_SERVER_GONE_ERROR

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

  • CR_SERVER_LOST

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

  • CR_UNKNOWN_ERROR

    不明なエラーが発生しました。


User Comments
  Posted by Oliver Smith on April 2, 2005
Connection-lost behavior:

If you lose your connection to the database, subsequent calls to mysql_real_query will attempt to reconnect.

  Posted by David Ayers on April 27, 2006
The implicit reconnect will not restore settings like "set names utf8;" and may therefor cause subsequent data corruption by using and expecting the wrong character set.
Sign Up Login You must be logged in to post a comment.