(PHP 8 >= 8.1.0)
mysqli_result::fetch_column -- mysqli_fetch_column — 結果セットの次の行から、単一のカラムの値を取得する
オブジェクト指向型
$column
= 0): null|int|float|string|false手続き型
結果セットから1行取得し、
0から始まるインデックスで指定されたカラムの値を返します。
値を取得した後は、この関数をコールするたびに結果セットの次の行の値を返します。
行がもう存在しない場合は false
を返します。
注意: この関数は、 NULL フィールドに PHPの
null
値を設定します。
result
手続き型のみ: mysqli_query()、mysqli_store_result()、mysqli_use_result()、mysqli_stmt_get_result() が返す mysqli_result オブジェクト。
column
行から取得する、0から始まるカラムの番号。 値を指定しない場合は、最初のカラムの値が返されます。
結果セットの次の行から、単一カラムの値を返します。
もう行が存在しない場合は false
を返します。
この関数を使ってデータを取得する場合、同じ行から別のカラムの値を取得する方法はありません。
例1 mysqli_result::fetch_column() の例
オブジェクト指向型
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$query = "SELECT CountryCode, Name FROM City ORDER BY ID DESC LIMIT 5";
$result = $mysqli->query($query);
/* fetch a single value from the second column */
while ($Name = $result->fetch_column(1)) {
printf("%s\n", $Name);
}
手続き型
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");
$query = "SELECT CountryCode, Name FROM City ORDER BY ID DESC LIMIT 5";
$result = mysqli_query($mysqli, $query);
/* fetch a single value from the second column */
while ($Name = mysqli_fetch_column($result, 1)) {
printf("%s\n", $Name);
}
上の例の出力は、 たとえば以下のようになります。
Rafah Nablus Jabaliya Hebron Khan Yunis