我对php相当陌生,是的,我知道SQL注入攻击,只是想解决这个问题。 除了日期之外,所有内容都正确发布到 mysql 表,我一直得到所有零。 为什么? 该字段设置为日期时间。
include('../htconfig/dbConfig.php');
$dbSuccess = false;
$dbConnected = mysql_connect($db['hostname'],$db['username'],$db['password']);
if ($dbConnected) {
$dbSelected = mysql_select_db($db['database'],$dbConnected);
if ($dbSelected) {
$dbSuccess = true;
}
}
$Sldate = date("m-d-Y");
$data_back = json_decode(file_get_contents('php://input'));
$userName = $data_back->{"User"};
$password = $data_back->{"Pword"};
$SoldTo = $data_back->{"Soldto"};
$SoldPrice = $data_back->{"SoldPrice"};
$SoldEmail= $data_back->{"Email"};
$VIN = $data_back->{"VIN"};
mysql_query("UPDATE tblinventory SET SOLD ='1',DATESLD = '$Sldate', DealerName='$SoldTo', SoldPrice = '$SoldPrice', DealerEmail = '$SoldEmail' WHERE VIN =$VIN");
echo ('SOLD');
///send email
?>
MySQL希望你的日期是YYYY-MM-DD 格式,而不是MM-DD-YYYY。
$Sldate = date("Y-m-d");
您也可以删除此代码的 PHP 部分,并直接在 SQL 中执行此操作
DATESLD = CURDATE()
您获得 00-00-00 00:00:00 的原因是 MYSQL 无法将您的日期时间识别为有效,因此它会插入默认值。有时你也会得到1947-08-25 19:31:00。
日期时间对象的格式需要正确。PHP 的 DateTime 类使这项工作变得容易,但是你需要 5.2 版才能使用它。
$date = new DateTime();
$Sldate = $date->format('Y-m-d');