我正在尝试计算查询返回的行数
这是我现在的代码
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…