用sql计算php中的行数
对于一个应用程序,我试图计算朋友的总数。我想用一个函数来实现这一点,但它没有返回任何东西。它告诉我: 警告:mysqli_query()至少需要2个参数,1个给定 但我只需要一个参数。我想我完全错了 这就是功能:用sql计算php中的行数,php,mysql,mysqli,Php,Mysql,Mysqli,对于一个应用程序,我试图计算朋友的总数。我想用一个函数来实现这一点,但它没有返回任何东西。它告诉我: 警告:mysqli_query()至少需要2个参数,1个给定 但我只需要一个参数。我想我完全错了 这就是功能: public function GetTotalOfFriends($user_id){ $db = new Db(); $select = "SELECT COUNT FROM friendship WHERE (friendship_recipient_id ='"
public function GetTotalOfFriends($user_id){
$db = new Db();
$select = "SELECT COUNT FROM friendship WHERE (friendship_recipient_id ='" . $user_id ."' OR friendship_applicant_id = '" . $user_id . "') AND friendship_status = 'accepted'";
$result = $db->conn->query($select);
$row = mysqli_query($result);
$total = $row[0];
echo $total;
我试着用这种方式打印出来:
$friend = new Friendship;
$numberoffriends = $friend->GetTotalOfFriends($user_id);
<?php echo $numberoffriends; ?>
$friend=新的友谊;
$numberoffriends=$friends->GetTotalOfFriends($user\u id);
你把一些事情搞混了。行$result=$db->conn->query($select)
似乎已经执行了一个查询,但是您试图绕过数据库包装器,将该查询结果再次传递给mysqli\u query
除此之外,我认为你的质疑本身也是错误的<代码>计数需要一个参数,指示要计数的字段或值。通常使用COUNT(*)
,但在某些情况下COUNT('x')
可能更有效。您还可以使用特定的字段名,COUNT
将为您计算非空值
您得到的结果是一个mysql_result对象,您需要使用它来获取查询结果的实际数据。
我建议你仔细阅读
一种可能的方法是使用以下方法:
$resultArray = $result->fetch_row();
这将导致查询的第一(也是唯一)行。它表示为一个数组,只有一个值(因为查询只返回一列)。您可以按如下方式获取该值:
return $resultArray[0];
如果您希望以不同的方式获取数据,您也可以使用任何其他获取方法。查看您需要传递连接和查询,而不是结果我编辑了我的代码,但现在他说:mysqli_result类的对象无法转换为stringYes,您需要从结果对象获取实际数据,但是您不应该再次调用
mysqli\u query
,因为这是首先为您提供对象的方法的过程版本。我已经用一些代码、更多的解释和一个有用的链接更新了我的答案。