簡體   English   中英

如何使用MySQL通過PHP將日期和時間戳添加到INSERT?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM