mysqli_num_rows

(PHP 5)

mysqli_num_rows

(no version information, might be only in CVS)

result->num_rows -- 結果の行数を取得する

説明

手続き型:

int mysqli_num_rows ( mysqli_result result )

オブジェクト指向型(プロパティ):

class mysqli_result {

int num_rows

}

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

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

パラメータ

result

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

返り値

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

注意: 行数が int の最大値をこえる場合、行数は文字列で返されます。

例 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.

参考

mysqli_affected_rows()
mysqli_store_result()
mysqli_use_result()
mysqli_query()