mysqli_result::fetch_column

mysqli_fetch_column

結果セットの次の行から、単一のカラムの値を取得する

説明

オブジェクト指向型

public nullintfloatstringfalse mysqli_result::fetch_column(int $column = 0)

手続き型

nullintfloatstringfalse mysqli_fetch_column(mysqli_result $result, int $column = 0)

結果セットから1行取得し、 0から始まるインデックスで指定されたカラムの値を返します。 値を取得した後は、この関数をコールするたびに結果セットの次の行の値を返します。 行がもう存在しない場合は false を返します。

注意: この関数は、 NULL フィールドに PHPの null 値を設定します。

パラメータ

result

手続き型のみ: mysqli_querymysqli_store_resultmysqli_use_resultmysqli_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

参考

  • mysqli_fetch_all
  • mysqli_fetch_array
  • mysqli_fetch_assoc
  • mysqli_fetch_object
  • mysqli_fetch_row
  • mysqli_data_seek