我正在考虑制作一个函数的最有效方法,该函数返回我在特定查询中获得的行数。我需要对查询进行大量修改,因为我将其用于大量统计信息。(在实际版本中,它是大约5个变量,而不是2个)而不是发布我的完整代码,我创建了一个小片段,它将指出我想要克服的是什么$ conn是我的PDO连接。表的名称以及字段的名称是固定的。
function stackOverflowDemo($var1,$var2){
global $conn;
$totalrows = $conn->query("select count(*) from $table WHERE firstfield = $var1 AND secondfield = $var2 ")->fetchColumn();
return $totalrows;
}
$output = stackOverflowDemo('1','30');
所以现在它会给我满足上述条件的行数。 (firstfield = 1 AND secondfield = 30
)但现在有了线索:现在我想要firstfield is 1 and secondfield is anything
(如*)的行数。如何在不必编写新功能或专用查询的情况下为我工作?
答案 0 :(得分:2)
function stackOverflowDemo($var1,$var2){
global $conn;
$query = "select count(*) from $table WHERE firstfield IS $var1 AND secondfield IS $var2";
$totalrows = $conn->query($query)->fetchColumn();
return $totalrows;
}
$output = stackOverflowDemo('1','NOT NULL');
也许这适合你?
答案 1 :(得分:1)
现在我想要
firstfield
为1
且secondfield
为任何内容的行数(如*)
您的查询应分别查找每个firstfield
和secondfield
的匹配项,然后对其进行计数。
省略null
的{{1}}条目,您可以尝试以下操作:
secondfield