[英]PHP, MySQL Query Always Returning 1?
我知道表格中有多個結果,誰能告訴我我做錯了什么?
<?php
$con = mysql_connect("x","y","z");
if (!$con)
{
die(mysql_error());
}
mysql_select_db("mydatabase", $con);
$query = ("SELECT COUNT(*) FROM usersonline WHERE datetime > NOW() - INTERVAL 5 MINUTE");
$result = mysql_query($query);
$num_rows = mysql_num_rows($result);
echo $num_rows;
?>
結果mysql_num_rows
將是一個,你只從數據庫中選擇一排,它恰好是比賽的條件的記錄數。 嘗試這個:
$query = ("SELECT COUNT(*) AS cnt FROM usersonline WHERE datetime > NOW() - INTERVAL 5 MINUTE");
$result = mysql_query($query);
$row = mysql_fetch_array($result);
$num_rows = $row['cnt'];
echo $num_rows;
您正在使用不帶GROUP BY子句的聚合COUNT()函數。 它將折疊整個結果集並計算記錄數,因此您將獲得的只是一個1行1字段結果集。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.