mysqli_result::$num_rows

mysqli_num_rows

(PHP 5, PHP 7)

mysqli_result::$num_rows -- mysqli_num_rows結果の行数を取得する

説明

オブジェクト指向型

手続き型

mysqli_num_rows ( mysqli_result $result ) : int

結果セットの行数を返します。

mysqli_num_rows() が使用可能かどうかは、 結果セットをバッファに格納しているかどうかに依存します。結果セットを バッファに格納していない場合、すべての行を取得し終えるまで mysqli_num_rows() は正確な行数を返しません。

パラメータ

result

手続き型のみ: mysqli_query()mysqli_store_result() あるいは mysqli_use_result() が返す結果セット ID。

返り値

結果セットの行数を返します。

注意:

行数が PHP_INT_MAX をこえる場合、行数は文字列で返されます。

例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 (
$result $mysqli->query("SELECT Code, Name FROM Country ORDER BY Name")) {

    
/* 結果セットの行数を調べます */
    
$row_cnt $result->num_rows;

    
printf("Result set has %d rows.\n"$row_cnt);

    
/* 結果セットを閉じます */
    
$result->close();
}

/* 接続を閉じます */
$mysqli->close();
?>

例2 手続き型

<?php
$link 
mysqli_connect("localhost""my_user""my_password""world");

/* 接続状況をチェックします */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %s\n"mysqli_connect_error());
    exit();
}

if (
$result mysqli_query($link"SELECT Code, Name FROM Country ORDER BY Name")) {

    
/* 結果セットの行数を調べます */
    
$row_cnt mysqli_num_rows($result);

    
printf("Result set has %d rows.\n"$row_cnt);

    
/* 結果セットを閉じます */
    
mysqli_free_result($result);
}

/* 接続を閉じます */
mysqli_close($link);
?>

上の例の出力は以下となります。

Result set has 239 rows.

参考