mysqli_stmt::$field_count

mysqli_stmt_field_count

指定したステートメントのカラム数を返す

説明

オブジェクト指向型

int$mysqli_stmt->field_count;

手続き型

int mysqli_stmt_field_count(mysqli_stmt $statement)

プリペアドステートメントで指定されたカラムの数を返します。

パラメータ

stmt

手続き型のみ: mysqli_stmt_init が返す mysqli_stmt オブジェクト。

戻り値

カラム数を示す整数値を返します。

例1 オブジェクト指向型

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$code = 'FR';

$stmt = $mysqli->prepare("SELECT Name FROM Country WHERE Code=?");
$stmt->bind_param('s', $code);
$stmt->execute();
$row = $stmt->get_result()->fetch_row();
for ($i = 0; $i < $stmt->field_count; $i++) {
    printf("Value of column number %d is %s", $i, $row[$i]);
}

例2 手続き型

<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");

$code = 'FR';

$stmt = mysqli_prepare($mysqli, "SELECT Name FROM Country WHERE Code=?");
mysqli_stmt_bind_param($stmt, 's', $code);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
$row = mysqli_fetch_row($result);
for ($i = 0; $i < mysqli_stmt_field_count($stmt); $i++) {
    printf("Value of column number %d is %s", $i, $row[$i]);
}

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

Value of column number 0 is France

参考

  • mysqli_stmt_num_rows