結果を保存するために、変数をプリペアドステートメントにバインドする

# maxdb_stmt_bind_result

# maxdb_stmt::bind_result

(PECL maxdb >= 1.0)

maxdb_stmt_bind_result -- maxdb_stmt::bind_result — 結果を保存するために、変数をプリペアドステートメントにバインドする

### 説明

手続き型

maxdb_stmt_bind_result ( resource `$stmt` , mixed `&$var1` [, mixed `&$...` ] ) : bool

オブジェクト指向型

maxdb_stmt::bind_result ( mixed `&$var1` [, mixed `&$...` ] ) : bool

maxdb_stmt_bind_result() は、 結果セット内のカラムを変数に関連付ける (バインドする) ために使用されます。 データを取得するために maxdb_stmt_fetch() をコールすると、MaxDB クライアント/サーバープロトコルが、 バインドされたカラムのデータを指定した変数 `var1, ...` に保存します。

> 注意:

> すべてのカラムは、maxdb_stmt_fetch() のコール前にバインドされなければならないことに注意しましょう。 バインド変数は、カラムの型に応じて自動的に対応する PHP 型に変換されます。

> 結果セットが部分的に取得された後であっても、カラムはいつでも バインド/再バインドできます。新しいバインド内容は、次に maxdb_stmt_fetch() がコールされた時点で反映されます。

### 返り値

成功した場合に `TRUE` を、失敗した場合に `FALSE` を返します。

### 例

例1 オブジェクト指向型

`<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");
if (maxdb_connect_errno()) {
printf("接続に失敗しました: %s\n", maxdb_connect_error());
exit();
}
/* ステートメントを準備します */
if ($stmt = $maxdb->prepare("SELECT zip, name FROM hotel.city ORDER BY name")) {
$stmt->execute();
/* 変数をプリペアドステートメントにバインドします */
$stmt->bind_result($col1, $col2);
/* 値を取得します */
while ($stmt->fetch()) {
printf("%s %s\n", $col1, $col2);
}
/* ステートメントを閉じます */
$stmt->close();
}
/* 接続を閉じます */
$maxdb->close();
?>`

例2 手続き型

`<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");
/* 接続を調べます */
if (!$link) {
printf("接続に失敗しました: %s\n", maxdb_connect_error());
exit();
}
/* ステートメントを準備します */
if ($stmt = maxdb_prepare($link, "SELECT zip, name FROM hotel.city ORDER BY name")) {
maxdb_stmt_execute($stmt);
/* 変数をプリペアドステートメントにバインドします */
maxdb_stmt_bind_result($stmt, $col1, $col2);
/* 値を取得します */
while (maxdb_stmt_fetch($stmt)) {
printf("%s %s\n", $col1, $col2);
}
/* ステートメントを閉じます */
maxdb_stmt_close($stmt);
}
/* 接続を閉じます */
maxdb_close($link);
?>`

上の例の出力は、 たとえば以下のようになります。

    12203 Albany
    60601 Chicago
    60615 Chicago
    45211 Cincinnati
    33575 Clearwater
    75243 Dallas
    32018 Daytona Beach
    33441 Deerfield Beach
    48226 Detroit
    90029 Hollywood
    92714 Irvine
    90804 Long Beach
    11788 Long Island
    90018 Los Angeles
    70112 New Orleans
    10019 New York
    10580 New York
    92262 Palm Springs
    97213 Portland
    60018 Rosemont
    95054 Santa Clara
    20903 Silver Spring
    20005 Washington
    20019 Washington
    20037 Washington

### 参考

- maxdb_stmt_bind_param() - プリペアドステートメントに、変数をパラメータとしてバインドする
- maxdb_stmt_execute() - プリペアドクエリを実行する
- maxdb_stmt_fetch() - プリペアドステートメントの結果を取得し、バインド変数に格納する
- maxdb_prepare() - 後で実行するための SQL 文を準備する
- maxdb_stmt_prepare() - 後で実行するための SQL 文を準備する
- maxdb_stmt_init() - ステートメントを初期化し、maxdb_stmt_prepare で使用するリソースを返す
- maxdb_stmt_errno() - 直近のステートメントコール時のエラーコードを返す
- maxdb_stmt_error() - 直近のステートメントコール時のエラー文字列を返す