为了账号安全,请及时绑定邮箱和手机立即绑定

如何获取SQL语句的行数

如何获取SQL语句的行数

PHP
饮歌长啸 2021-05-02 16:58:57
是否可以获取语句的行数?我尝试这个$stmt2 = $pdo->query("SELECT count(*) FROM `participation`    WHERE id_evenement = '$id_event'    AND id_membre_participation ='$id_membre'");if ($stmt2 == 0) {    echo 'ok'; } else {    echo 'no';} 但我有这个错误:Notice: Object of class PDOStatement could not be converted to int in C:\wamp64\www\projet\[...] on line 55no该声明是正确的,如果我在php我的管理员中尝试以下操作:SELECT count(*) FROM `participation` WHERE id_evenement = 9 AND id_membre_participation = 1我有+----------+| count(*) |+----------+|     1    |+----------+如果我更改id_membre_participation为2:SELECT count(*) FROM `participation` WHERE id_evenement = 9 AND id_membre_participation = 2+----------+| count(*) |+----------+|     0    |+----------+有任何想法吗?谢谢!
查看完整描述

2 回答

?
SMILET

TA贡献1796条经验 获得超4个赞

PDO::query返回结果集作为PDOStatement对象,您必须从中获取实际数据。在这种情况下,您只有一个值,可以通过调用进行检索PDOStatement::fetchColumn。试试这个:


$stmt2 = $pdo->query("SELECT count(*) FROM `participation` 

   WHERE id_evenement = '$id_event' 

   AND id_membre_participation ='$id_membre'");

$count = $stmt2->fetchColumn(0);

if ($count == 0) { 

   echo 'ok'; 

} else { 

   echo 'no';


查看完整回答
反对 回复 2021-05-07
?
暮色呼如

TA贡献1853条经验 获得超9个赞

是的,您可以fetchColumn用来获取行数


$sql = "SELECT count(*) FROM `table` WHERE foo = bar"; 

$result = $con->prepare($sql); 

$result->execute(); 

$number_of_rows = $result->fetchColumn();


查看完整回答
反对 回复 2021-05-07
  • 2 回答
  • 0 关注
  • 300 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信