我有一个Android应用程序,用于在PHP数据库中存储用户数据。我需要根据日期进行一些验证。MySQL数据库为每个用户预定义一个日期。每当用户在当天插入两次数据时,日期会增加1天。如果日期超过当前日期,则会显示消息“用户已经提交了当天的数据”。PHP DateTime()函数无法正常工作
我的PHP文件是:
<?php
require "conn.php";
$user_mobile = $_POST["mobile_num"];
$user_pass = $_POST["password"];
$mysql_qry = "select * from employee_data where mobile like '$user_mobile' and password like '$user_pass';";
$result = mysqli_query($conn,$mysql_qry);
if(mysqli_num_rows($result) > 0) {
$row = mysqli_fetch_assoc($result);
$name= $row["name"];
$_POST['user'] = $name;
$last_updated = $row["last_updated_date"];
$_POST['user'] = $name;
$_POST['date'] = $last_updated;
echo "Login successful. Welcome_" .$name;
echo "_Date:" .$last_updated;
$now = new DateTime("Asia/Kolkata");
$n = ($now->format('Y-m-d'));
if(($last_updated > $n)) {
echo "exceeded";
}
?>
但正在发生的事情是,如果“$ LAST_UPDATED”(即正在改变每次日)是当前日期,那么就不用if条件里面去。因此,如果“$ last_updated”是今天的日期,则用户获得“用户已经提交了当天的数据”的消息。我试着做一个“$ n”的回声,它给出了当前的日期。所以,它不应该去if条件,因为($ last_updated == $ n)。但它在if条件(if($ last_updated == $ n))内进行。我不知道为什么会发生这种情况。谁能帮我解决这个问题?
您的代码易受sql注入攻击。请修复。 – Gordon
什么是'last_updated_date'字段数据类型? – hassan