echo id=$id的行数

cunj1qz1  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(434)

我尝试回显某个id=$id的行数。这基本上是计算一个人在网站上收到的“投票”数。它就像mysqlworkbench中的一个魅力,但是这个人的id被插入数据库的行数(通过投票按钮)不会显示在网页上。表名是forslag\u stemmer,它的主键是id,外键是brukerid(为某个人投票的用户)和forslagid(从用户那里接收投票的人)。
此查询在workbench中有效,但在以下页面上无效:

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";
}

我真的不知道该怎么办?

wj8zmpe1

wj8zmpe11#

选择一个字段 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'];
icomxhvb

icomxhvb2#

mysqli\u result::num\u rows获取结果中的行数
在您的示例中,因为您是以“select count(*)from table”的形式进行查询,所以它总是将行数返回为“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
}

相关问题