PHPWales 2020 - June 3rd to June 4th

sqlite_num_rows

SQLiteResult::numRows

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_num_rows -- SQLiteResult::numRows結果セットのレコード数を返す

説明

sqlite_num_rows ( resource $result ) : int

オブジェクト指向型 (メソッド):

SQLiteResult::numRows ( void ) : int

バッファされた結果セット result のレコード数を返します。

パラメータ

result

SQLite 結果リソース。 このパラメータは、 オブジェクト指向言語型メソッドを使用する場合は不要です。

注意:

この関数は、 バッファなしの結果ハンドルで使用することはできません。

返り値

行数を整数値で返します。

例1 手続き型言語スタイルでの例

<?php
$db 
sqlite_open('mysqlitedb');
$result sqlite_query($db"SELECT * FROM mytable WHERE name='John Doe'");
$rows sqlite_num_rows($result);

echo 
"Number of rows: $rows";
?>

例2 オブジェクト指向言語型スタイルでの例

<?php
$db 
= new SQLiteDatabase('mysqlitedb');
$result $db->query("SELECT * FROM mytable WHERE name='John Doe'");
$rows $result->numRows();

echo 
"Number of rows: $rows";
?>

参考

  • sqlite_changes() - 直近のSQLステートメントにより変更されたレコード数を返す
  • sqlite_query() - 指定したデータベースに対してクエリを実行し、結果ハンドル を返す
  • sqlite_num_fields() - 結果セットのフィールド数を返す

add a note add a note

User Contributed Notes 3 notes

up
0
Dylan
5 months ago
//I don't know about you. But for me this is what I had to do

$db = new SQLite3('databasename.db');
$result = $db->query("SELECT * FROM table_name");
$number_of_rows = 0;//for now

while($row = $result->fetchArray()) {
    $number_of_rows += 1;
}

echo "Number of rows: $number_of_rows";
up
-1
be {a} t {dawt} pl
4 years ago
@rezaamya

$db = new SQLite3('databasename.db');
$result = $db->query("SELECT * FROM users");
$rows = count ($result);
echo "Number of rows: $rows";

$rows value should always be 1
... even if the query is invalid
I tested that on
SQLite Library 3.7.7.1
up
-10
rezaamya at gmail dot com
5 years ago
neither of "sqlite_num_rows($result)" and "$result->numRows()" is not working on SQLite3 !
you should use this way:

$db = new SQLite3('databasename.db');
$result = $db->query("SELECT * FROM users");
$rows = count ($result);
echo "Number of rows: $rows";
To Top