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.11.12 mysql_stmt_fetch_column()

int mysql_stmt_fetch_column(MYSQL_STMT *stmt, MYSQL_BIND *bind, unsigned int column, unsigned long offset)

説明

現在の結果セット行から 1 つのカラムをフェッチします。bind はデータを配置すべきバッファーを提供します。それは mysql_stmt_bind_result() の場合と同じように設定してください。column はフェッチするカラムを示します。最初のカラムは 0 と番号付けされます。offset はデータの取得を開始するデータ値内のオフセットです。これはデータ値を個々にフェッチするために使用できます。値の開始はオフセット 0 です。

戻り値

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

エラー
  • CR_INVALID_PARAMETER_NO

    無効なカラム番号。

  • CR_NO_DATA

    結果セットの末尾にすでに達しています。


User Comments
  Posted by Flávio Saraiva on September 12, 2007
This is a bit missleading: "bind provides the buffer where data should be placed. It should be set up the same way as for mysql_stmt_bind_result()."

The 'bind' argument expects a MYSQL_BIND structure setup for the target field, not the array of MYSQL_BIND structures used in 'mysql_stmt_bind_result()'.
  Posted by Etienne DECHAMPS on December 11, 2008
Please note: even if you only use this function to fetch your fields, you still have to bind the result parameters using mysql_bind_result(). If you don't, mysql_stmt_fetch_column() will SEGFAULT at this line (libmysql/libmysql.c:4069 in MySQL 5.0.67):

*my_bind->length= *param->length;

...because "param" will be an invalid pointer.
  Posted by Yuri Zak on February 19, 2015
use force ...

http://bugs.mysql.com/bug.php?id=33086

like mysql_stmt_fetch_column(stmt, &bind[1], 1, 0) instead mysql_stmt_fetch_column(stmt, bind, 1, 0)
Sign Up Login You must be logged in to post a comment.