如何按当前日期查询记录?
How to query records by current date?
下面的代码允许我计算 IP
注册的访问总数:
$stmtIP = $con->prepare("SELECT COUNT(*) FROM visitor_ip WHERE ip_remote=?");
$stmtIP->bind_param("s",$IP_ADDRESS);
$stmtIP->execute();
$count_ip_record = null;
$stmtIP->bind_result($count_ip_record);
$stmtIP->fetch();
$stmtIP->close();
echo $count_ip_record;
我在数据 table 中有一列名为:visitor_date
类型 datetime
,记录 a:
2021-01-18 19:40:15
我想按当前日期计算 IP
条记录。我怎样才能将该条件传递给 WHERE
?
使用CURDATE
函数:
SELECT COUNT(*) FROM visitor_ip WHERE DATE(visitor_date) = CURDATE() AND ip_remote=?
或通过参数的任何日期:
$date = date('Y-m-d');
$sql = "SELECT COUNT(*) FROM visitor_ip WHERE DATE(visitor_date) = ? AND ip_remote=?";
$stmtIP = $con->prepare($sql);
$stmtIP->bind_param("ss", $date, $IP_ADDRESS);
$stmtIP->execute();
如果visitor_date
有索引:
$date = date('Y-m-d');
$sql = "SELECT COUNT(*) FROM visitor_ip "
. "WHERE (visitor_date BETWEEN ? AND ? + INTERVAL 1 DAY) AND ip_remote=?";
$stmtIP = $con->prepare($sql);
$stmtIP->bind_param("sss", $date, $date, $IP_ADDRESS);
$stmtIP->execute();
下面的代码允许我计算 IP
注册的访问总数:
$stmtIP = $con->prepare("SELECT COUNT(*) FROM visitor_ip WHERE ip_remote=?");
$stmtIP->bind_param("s",$IP_ADDRESS);
$stmtIP->execute();
$count_ip_record = null;
$stmtIP->bind_result($count_ip_record);
$stmtIP->fetch();
$stmtIP->close();
echo $count_ip_record;
我在数据 table 中有一列名为:visitor_date
类型 datetime
,记录 a:
2021-01-18 19:40:15
我想按当前日期计算 IP
条记录。我怎样才能将该条件传递给 WHERE
?
使用CURDATE
函数:
SELECT COUNT(*) FROM visitor_ip WHERE DATE(visitor_date) = CURDATE() AND ip_remote=?
或通过参数的任何日期:
$date = date('Y-m-d');
$sql = "SELECT COUNT(*) FROM visitor_ip WHERE DATE(visitor_date) = ? AND ip_remote=?";
$stmtIP = $con->prepare($sql);
$stmtIP->bind_param("ss", $date, $IP_ADDRESS);
$stmtIP->execute();
如果visitor_date
有索引:
$date = date('Y-m-d');
$sql = "SELECT COUNT(*) FROM visitor_ip "
. "WHERE (visitor_date BETWEEN ? AND ? + INTERVAL 1 DAY) AND ip_remote=?";
$stmtIP = $con->prepare($sql);
$stmtIP->bind_param("sss", $date, $date, $IP_ADDRESS);
$stmtIP->execute();