我有一個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