我做了一些研究,但是我真的找不到我想要的格式。请原谅我,因为这是我学习PHP的第二天,我正在一个相当大的项目中学习。
我有一个SQL数据库使用'日期'类型,它遵循yyyy-mm-dd格式。
我当前的SQL语句做这个,
$query = "INSERT INTO $tbl_name (Date, Amount) VALUES ('now()', '$Amount')";
但是,这不会更新日期,并且我的所有条目都显示0000-00-00
我不确定我做错了什么。
try this:
$query = "INSERT INTO $tbl_name (Date, Amount) VALUES (now(), 123)";
必须去掉单引号!此外,您可以使用CURRENT_DATE
常量或使用ON UPDATE CURRENT_TIMESTAMP
有很多方法可以做到这一点。
1。使用MySQL函数"NOW()"
你可以简单地把NOW()
放在应该是日期的地方。NOW()
是一个MySQL函数,它返回的日期格式如您的请求。
2。使用PHP函数"date()"
你也可以使用PHP自带的date()
函数来执行你想要的,只是写一些像这样的东西:
$date = date('Y-m-d');
$query = "INSERT INTO $tbl_name (Date, Amount) VALUES ('$date', '$Amount')";
您还可以定义您的表使用CURRENT_TIMESTAMP
作为默认值:
CREATE TABLE `example` (
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
`modified_at` DATETIME ON UPDATE CURRENT_TIMESTAMP
)
DATETIME
只能在MySQL 5.6.5中使用。在以前的版本中,您需要使用TIMESTAMP
类型:
CREATE TABLE `example` (
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
`modified_at` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)