我试图回显某个id = $ id的行数。这主要是计算"投票的数量"一个人一直在网站上收到。它的工作方式类似于mysqlworkbench中的一个魅力,但是这个人的id被插入数据库的行数(通过投票按钮)不会显示在网页上。表名是forslag_stemmer,它有主键= id,外键brukerid(投票给某个人的用户)和外键forslagid(这是接收用户投票的人)。
此查询在工作台中有效,但在页面上无效:
echo "<u><b>Number of votes</u></b>:";
$sql= "SELECT COUNT( * ) FROM
bb.forslag_stemmer WHERE forslagid=$forslagid";
$resultat = $kobling->query($sql);
while($rad=$resultat->fetch_assoc())
{
$forslagid = $rad["forslagid"];
echo $sql;
echo "$resultat->num_rows";
}
我真的不知道该怎么做?
答案 0 :(得分:2)
您选择一个字段 COUNT( * )
作为查询结果。结果中会有否其他字段。
echo "<u><b>Number of votes</u></b>:";
// I added an alias for field
$sql= "SELECT COUNT( * ) as votes_count FROM bb.forslag_stemmer WHERE forslagid=$forslagid";
$resultat = $kobling->query($sql);
$rad = $resultat->fetch_assoc();
// access value by alias
echo $rad['votes_count'];
答案 1 :(得分:0)
mysqli_result :: num_rows获取结果中的行数
在您的示例中,因为您查询的是“从表中选择计数(*)”,所以它总是将行数返回为“1”
您可以通过两种方式获得行数
方法1:
$sql= "SELECT * from FROM bb.forslag_stemmer WHERE forslagid=$forslagid";
$result = $con->query($sql);
echo $result->num_rows; // prints number of rows found
方法2:
$sql= "SELECT count(*) as resultcount from FROM bb.forslag_stemmer WHERE
forslagid=$forslagid";
$result = $con->query($sql);
while($row = $result->fetch_assoc()){
echo $row['resultcount']; // prints number of rows found
}