SQLite3计数行 - php

我正在尝试计算查询返回的行数

这是我现在的代码

function products()
{
$loggedin = loggedin();
$db = db();

$stmt = $db->prepare('SELECT game_id, name, developer, price FROM game   WHERE quantity > 0 ORDER BY game_id DESC');
$result = $stmt->execute();
$row1 = $result->fetchArray();
$rows = count ($row1); 

if ($rows == 0)
    {
    echo "Sold out";
    }
else
    {
    while ($row = $result->fetchArray()) {
    echo '<p>'.$row['name'].'</p>';

    }
    }
}

目前,即使所有行都匹配,它也只会返回表中的第一项

如果我将代码更改为

function products()
{
$loggedin = loggedin();
#$page = 'index.php';
$db = db();
$stmt = $db->prepare('SELECT game_id, name, developer, price FROM game   WHERE quantity > 11 ORDER BY game_id DESC');
$result = $stmt->execute();
while ($row = $result->fetchArray()) {
    echo '<p>'.$row['name'].'</p>';

}

然后我从表中正确获得所有结果

如果我将查询更改为超出数量的值,例如

quantity > 20

然后我得到错误

Warning: count(): Parameter must be an array or an object that implements Countable

我想做的是,如果row1 == 0,则显示已售罄,否则将显示所有行

因此,如果某行与查询不匹配,则该行将不包含在结果中
我无法使用PDO,也无法找出要使用的https://www.php.net/manual/en/book.sqlite3.php计数

参考方案

那应该做。

function products() {
    $loggedin = loggedin();
    $db = db();
    $games = $db->query('SELECT game_id, name, developer, price FROM game WHERE quantity > 0 ORDER BY game_id DESC');

    if (empty($games->fetchArray())) {
        echo "Sold out";
        return;
    }

    // Reset the result back to the first game
    $games->reset();

    while ($game = $games->fetchArray(SQLITE3_ASSOC)) {
        echo '<p>'.$game['name'].'</p>';  
    }
}

PHP:对数组排序 - php

请如何排序以下数组Array ( 'ben' => 1.0, 'ken' => 2.0, 'sam' => 1.5 ) 至Array ( 'ken' => 2.0, 'sam' => 1.5, 'ben' =&…

php Singleton类实例将在多个会话中保留吗? - php

举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…

PHP strtotime困境 - php

有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00�…

PHP-全局变量的性能和内存问题 - php

假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…

php-casperjs获取内部文本 - php

我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…