mysqli_stmt_bind_result
(PHP 5)
mysqli_stmt_bind_result
(no version information, might be only in CVS)
stmt->bind_result -- 結果を保存するため、プリペアドステートメントに変数をバインドする
説明
手続き型:
bool
mysqli_stmt_bind_result ( mysqli_stmt stmt, mixed &var1 [, mixed &...] )
オブジェクト指向型(メソッド):
class
mysqli_stmt {
bool
bind_result ( mixed &var1 [, mixed &...] )
}
mysqli_stmt_bind_result() は、結果セットのカラムを
変数に関連付ける(バインドする)ために使用されます。データを取得するために
mysqli_stmt_fetch() がコールされた場合、MySQL クライアント/
サーバ プロトコルはバインドされたカラムのデータを指定した変数
var1, ... に格納します。
注意:
mysqli_stmt_fetch() をコールする前に、すべての
カラムをバインドしておく必要があることに注意しましょう。カラムの型に
応じて、バインド変数の型も対応する PHP の型に自動的に変換されます。
カラムのバインドや再バインドはいつでも可能で、たとえ結果セットを途中まで
取得した後であっても可能です。新しくバインドした内容が効力を発揮するのは、
次に mysqli_stmt_fetch() がコールされたときからです。
返り値
成功した場合に TRUE を、失敗した場合に FALSE を返します。
例
例 1. オブジェクト指向型
<?php $mysqli = new mysqli("localhost", "my_user", "my_password", "world");
if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); }
/* ステートメントを準備します */ if ($stmt = $mysqli->prepare("SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) { $stmt->execute();
/* プリペアドステートメントに変数をバインドします */ $stmt->bind_result($col1, $col2);
/* 値を取得します */ while ($stmt->fetch()) { printf("%s %s\n", $col1, $col2); }
/* ステートメントを閉じます */ $stmt->close(); } /* 接続を閉じます */ $mysqli->close();
?>
|
|
例 2. 手続き型
<?php $link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* 接続状況をチェックします */ if (!$link) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); }
/* ステートメントを準備します */ if ($stmt = mysqli_prepare($link, "SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) { mysqli_stmt_execute($stmt);
/* プリペアドステートメントに変数をバインドします */ mysqli_stmt_bind_result($stmt, $col1, $col2);
/* 値を取得します */ while (mysqli_stmt_fetch($stmt)) { printf("%s %s\n", $col1, $col2); }
/* ステートメントを閉じます */ mysqli_stmt_close($stmt); }
/* 接続を閉じます */ mysqli_close($link); ?>
|
|
上の例の出力は以下となります。
AFG Afghanistan
ALB Albania
DZA Algeria
ASM American Samoa
AND Andorra |