我试图将COUNT(*)
的结果存储在变量中,稍后将其用于if
语句。这是我目前的代码:
$query = mysqli_query($mysqli, "SELECT COUNT(*) FROM appointment WHERE date = '$date_convert' and appointment_time = '$appointment_time'");
if ($query >= '1') {
echo "Dont Continue";
}
else{
echo "Continue";
}
答案 0 :(得分:1)
mysqli_query()
会返回mysqli_result
个对象。您需要先获取行,然后才能比较列值。要从结果中获取一行,请在其上调用->fetch_assoc();
。 (Docs)
您的代码应如下所示:
// Execute the query
$query = mysqli_query($mysqli, "SELECT COUNT(*) as `count` FROM appointment WHERE date = '$date_convert' and appointment_time = '$appointment_time'");
// Since there will always be exactly 1 row, fetch it.
$row = $result->fetch_assoc();
if ($row['count'] >= 1) {
echo "Dont Continue";
}
else {
echo "Continue";
}
此外,我为您的count()
列添加了一个名称,这样即使计数的默认列名发生更改,也可以访问该列。然后我更改了比较,以便比较两个整数(不涉及转换)。
答案 1 :(得分:-1)
如果您使用mysqli_query方法,我建议使用mysqli_num_rows()。您不必使用count(*)。这也允许您使用其他mysqli函数来访问该WHERE语句的结果!没有必要将结果限制为全*搜索的计数。
我还建议选择一列SELECT。我个人选择主键/ id列,如果我想要计数,但很少有时间我在进行SELECT查询以找出一个计数...如果有的话,我选择的数据结果我想立即使用,并仅使用计数来决定我是否应该使用它。
另外,我强烈建议准备好的陈述...... 这是一个很好的工具,如果您有兴趣,可以帮助教他们...... http://wbr.bz/QueryPro/
$query = mysqli_query($mysqli, "SELECT * FROM appointment WHERE date = '$date_convert' and appointment_time = '$appointment_time'");
$numResults = mysqli_num_rows($query); # of results from query