将日期存储在数据库中

时间:2012-01-14 00:43:20

标签: php sql database date time

我有一项任务是将“引号”存储到数据库中(已经完成此操作)并显示它们&为最近的报价排序。我假设得到“最新”,我需要存储提交报价的日期/时间。

我是PHP的新手并且正在努力学习,所以我不知道如何做到这一点。

这是用于将引号添加到数据库的PHP。表中有两列称为“引号”和“id”。我猜我也需要为日期制作专栏?

require('includes/connect.php');


    $quote = $_POST['quote'];
    $quotes = mysql_real_escape_string($quote);


    mysql_query("INSERT INTO entries (quote) VALUES('$quotes')")
    or die(mysql_error());

我如何插入日期?

5 个答案:

答案 0 :(得分:1)

如果要插入CURDATE()日期

,请使用current

示例:

$query_auto = "INSERT INTO tablename (col_name, col_date) VALUE ('DATE: Auto CURDATE()', CURDATE() )";

但是如果您手动使用它,那么应该使用它:

$query_manual = "INSERT INTO tablename (col_name, col_date) VALUES ('DATE: Manual Date', '2008-07-04')";

<强>更新

CREATE TABLE auto_ins
    (
        `MySQL_Function` VARCHAR(30),
        `DateTime` DATETIME,
        `Date` DATE,
        `Time` TIME,
        `Year` YEAR,
        `TimeStamp` TIMESTAMP
    );

INSERT INTO auto_ins
    (`MySQL_Function`, `DateTime`, `Date`, `Time`, `Year`, `TimeStamp`)
VALUES
    (“CURDATE()”, CURDATE(), CURDATE(), CURDATE(), CURDATE(), CURDATE());

SCREEN SHOT

答案 1 :(得分:1)

如果您只想要最新的引号,则只需按id DESC对结果集进行排序,假设id是自动递增的值。

答案 2 :(得分:0)

是的,你需要第三列让我们说most_recent(定义为日期或日期时间):

mysql_query("INSERT INTO entries (quote, most_recent) VALUES('$quotes', now())")

答案 3 :(得分:0)

您至少需要几个提交报价和报价表的表格。

create table users(id int primary key not null, username varchar(32),pwd varchar(32));

您可以向该表添加任何信息,例如电子邮件地址等。

create table quotes (
id int not null , 
user_id integer,
quote_text varchar(256),
inserted_date timestamp default current_timestamp ,primary key (id));
alter table quotes add constraint fk_users foreign key(user_id) references users(id);

否则随意修改它们。 这不是关于PHP的一般数据库设计。

答案 4 :(得分:0)

使用此代码:

require('includes/connect.php');


$quote = $_POST['quote'];
$quotes = now().' - '.mysql_real_escape_string($quote);
// THIS WILL ADD THE DATE AND TIME TO YOUR $quotes STRING.


mysql_query("INSERT INTO entries (quote) VALUES('$quotes')")
or die(mysql_error());