[英]How do add date and time stamp to an INSERT via PHP with mySQL?
我有一個使用mySQL的插入腳本。 我需要將創建記錄的日期和時間放在“ add_time”列中。
誰能告訴我如何修改現有腳本來做到這一點? 我需要一個單獨的PHP腳本嗎?
我希望日期以標准格式顯示:09/25/11 6:54 AM
<?
$host="XXXXXXXXXXX";
$username="XXXXXXX";
$password="XXXXXXX";
$db_name="naturan8_hero";
$tbl_name="cartons_added";
mysql_connect("$host", "$username", "$password") or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$order = "INSERT INTO cartons_added (
type,
part_no,
add_type,
add_qty,
add_ref,
add_by,
add_notes
) VALUES (
'$_POST[type]',
'$_POST[part_no]',
'$_POST[add_type]',
'$_POST[add_qty]',
'$_POST[add_ref]',
'$_POST[add_by]',
'$_POST[add_notes]'
)";
$result = mysql_query($order);
if ($result) {
$part_no = $_REQUEST['part_no'] ;
$add_qty = $_REQUEST['add_qty'];
header("location: inv_fc_add_success.php?part_no=" . urlencode($part_no) . "&add_qty=" . urlencode($add_qty));
}
else {
header("location: inv_fc_add_fail.php");
}
?>
您在數據庫中設置了“ add_time”列嗎? 是DATETIME格式嗎?
在這種情況下,您可以像這樣修改查詢:
$order = "INSERT INTO cartons_added (type, part_no, add_type, add_qty,
add_ref, add_by, add_notes, add_time)
VALUES
('$_POST[type]',
'$_POST[part_no]',
'$_POST[add_type]',
'$_POST[add_qty]',
'$_POST[add_ref]',
'$_POST[add_by]',
'$_POST[add_notes]',
NOW())";
盡管您應該意識到執行這樣的查詢很危險,因為您信任用戶只能輸入漂亮的東西! Google“ SQL Injection”也可以找到更多有關它的信息,mysql_real_escape_string()。
您完全不需要從PHP將數據插入該列:
可以自動初始化TIMESTAMP和DATETIME列,並將其更新為當前日期和時間(即當前時間戳)。
因此,將add_time列定義更改為
add_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
然后,當您插入新行時,它將自動為您填充該列
請參閱: 有關時間戳初始化的MySql手冊
將“時間”列添加到“ cartons_added”表中。
並以此作為訂單
$order = "INSERT INTO cartons_added (type, part_no, add_type, add_qty,
add_ref, add_by, add_notes, time)
VALUES
('$_POST[type]',
'$_POST[part_no]',
'$_POST[add_type]',
'$_POST[add_qty]',
'$_POST[add_ref]',
'$_POST[add_by]',
'$_POST[add_notes]',
'".time().")";
我最喜歡Sam的回答-但是,可以選擇使用date("m/d/YH:i A");
根據您的要求-即 它將輸出MM / DD / YYYY HH:MM AM / PM。 雖然如果您使用Sam的方法,它將需要較少的代碼,但是您需要將其轉換為所需的格式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.