php中比较两个日期的问题
由于某些原因,我在比较前一个日期和当前日期时遇到困难。我尝试了很多不同的方法,尝试用谷歌搜索我的答案,但没有成功 这就是我的代码php中比较两个日期的问题,php,mysql,Php,Mysql,由于某些原因,我在比较前一个日期和当前日期时遇到困难。我尝试了很多不同的方法,尝试用谷歌搜索我的答案,但没有成功 这就是我的代码 $phpdate = date("Y-m-d"); $sql = "SELECT lastDailyCollect FROM users WHERE steamid='".$_POST['steamid']."'"; $result = $conn->query($sql); if ($result->num_rows > 0) { wh
$phpdate = date("Y-m-d");
$sql = "SELECT lastDailyCollect FROM users WHERE steamid='".$_POST['steamid']."'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$lastDailyCollect = $row['lastDailyCollect'];
}
}
if ($lastDailyCollect == $phpdate) {
//give user error message
}elseif ($lastDailyCollect != $phpdate) {
//let user know it suceeded
}else {
//comparison error
}
我想检查用户是否能够收取每日奖金。每个用户的最后一次收集日期存储在mysql数据库中,一个名为users的表中。
它总是指向比较错误
希望有人能提供帮助。您可以通过从当前日期中减去一天并将其存储在
$forday
中,然后匹配上一天是否等于LastDailCollect
日期来检查LastDailCollect
日期
<?php
$date = date("Y-m-d"); //2017-05-12
$lastDailyCollect = "2017-05-11";
$yesterday = date('Y-m-d',strtotime($date . "-1 days")); //2017-05-11
if($lastDailyCollect == $yesterday) {
//give user error message
echo 'lastDailyCollect is equal to Previous day';
}
else
{
//let user know it suceeded
echo 'lastDailyCollect is not equal to previous day';
}
?>
当您回显$LastDailCollect时,它是什么样子的?您的代码容易受到攻击。您应该使用或准备带有绑定参数的语句,如中所述。是否仍然易受攻击?对甚至可以尝试比较它,比如if($lastDailyCollect<$phpdate){//让用户知道它成功了}或者{//give user error message}
在$\u POST['streamid']上抛出一个intval(),以实现sql注入保护。intval($\u POST['streamid'])假设ID始终为且仅为整数。如果自上次收集后已超过1天怎么办?那这就行不通了,是吗?我只想检查他们今天是否收集了,如果没有,就让他们去做。然后添加否则如果($lastDailyCollect<$Dayed){//1天多以前他们收集了}
我在一个新文件中重新编辑了整件事,并以完全相同的方式做了每件事,结果成功了。不知道是什么造成了不同,但它起作用了-