我在Apache PHP服务器页面中运行以下SQL PDO命令:
$query = "
SELECT
id,
building_name
FROM
campus
";
$stmt = $con->prepare($query);
$stmt->execute();
$num = $stmt->rowCount(); // HERE IS THE FUNCTION
我不想返回整个行数,而是希望rowCount()
函数只返回" building_name"的行数。 =" IT House"。我似乎无法找到有关此函数的任何信息,例如它期望的参数等。任何想法如何在赋值操作中修改函数调用?提前谢谢!
注意:我知道我可以通过SELECT
命令调整查询,但我不想限制查询。我需要查询来表示所有行,但我需要rowCount来表示所需的行。
答案 0 :(得分:2)
您可以在此处找到rowCount的文档: http://php.net/manual/en/pdostatement.rowcount.php
您是否还在使用其他结果阻止您仅选择具有该条件的行?:
SELECT id, building_name FROM campus WHERE building_name = 'IT House'
更好的是你可以选择计数:
SELECT COUNT(*) FROM campus WHERE building_name = 'IT House'
否则,您必须遍历结果以确定符合条件的行数:
$stmt->execute();
$result = $stmt->fetchAll();
$num = 0;
foreach($result as $row) {
if( 'IT House' == $row['building_name'] ) {
$num++;
}
}
答案 1 :(得分:1)
如果您不想将条件添加到SQL语句中,则需要迭代所有结果,然后根据building_name
是否等于 IT House来增加计数器与否