回声id = $ id的行数

时间:2018-06-12 12:00:56

标签: php mysql echo rows

我试图回显某个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";
}

我真的不知道该怎么做?

2 个答案:

答案 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
}