是否可以获取语句的行数?我尝试这个$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';
}
暮色呼如
TA贡献1853条经验 获得超9个赞
是的,您可以fetchColumn用来获取行数
$sql = "SELECT count(*) FROM `table` WHERE foo = bar";
$result = $con->prepare($sql);
$result->execute();
$number_of_rows = $result->fetchColumn();
- 2 回答
- 0 关注
- 300 浏览
添加回答
举报
0/150
提交
取消