2016-08-02 25 views
0

我想嘗試插入點擊按鈕時自動設置的日期時間。我不介意那個按鈕。我只是想知道這個格式是怎麼樣的。我看到了這個語法date_default_timezone_set('Asia/Kuala_Lumpur');然而,即時通訊使用PDO PHP,並希望將其插入數據庫並使用正確的時區,並能夠以正確的格式再次調用時間。我是這個語法的新手。到目前爲止,我只是把它放在我的查詢之前,我試着迴應它。它確實發生了變化,但插入時根本沒有改變。當然,這是我發佈此代碼之前。請幫忙。我應該把它放在哪裏?如何將datetime插入到具有所需時區的數據庫中?

//===================== 
date_default_timezone_set('Asia/Kuala_Lumpur'); 
echo date('Y-m-d H:i:s T', time());    

$query = " INSERT INTO record ( 
       bdatetime, 
       bstatus, 
       bmatricno_fk, 
       serialno_fk 
      ) VALUES (
       NOW(), 
       'NEW', 
       :bmatricno, 
       :ses 
      )"; 

foreach($ses as $s) {     
    $query_params = array( 
     ':bmatricno' => $_POST['bmatricno'], 
     ':ses' => $s 
    ); 

    try { 
     // Execute the query to create the user 
     $stmt = $db->prepare($query); 
     $result = $stmt->execute($query_params); 
    } catch(PDOException $ex) { 
     // Note: On a production website, you should not output $ex->getMessage(). 
     // It may provide an attacker with helpful information about your code. 
     die("Failed to run query: " . $ex->getMessage()); 
    } 
+0

'date_default_timezone_set'不僅影響了PHP的時區設置,而不是數據庫連接。或者直接在數據庫中插入'date('Y-m-d H:i:s T',time())'的值,或者設置數據庫的時區以匹配你需要的值。 – apokryfos

回答

1
date_default_timezone_set('Asia/Kuala_Lumpur'); 
$newDate = date('Y-m-d H:i:s T', time()); 


$query = " 
     INSERT INTO record ( 
      bdatetime, 
      bstatus, 
      bmatricno_fk, 
      serialno_fk 
     ) VALUES (
      :newDate, 
      'NEW', 
      :bmatricno, 
      :ses 
     ) 
    "; 

foreach ($ses as $s) { 

    $query_params = array(
     ':bmatricno' => $_POST['bmatricno'], 
     ':ses' => $s, 
     ':newDate' => $newDate 
    ); 

    try 
    { 
     // Execute the query to create the user 
     $stmt = $db->prepare($query); 
     $result = $stmt->execute($query_params); 
    } catch (PDOException $ex) 
    { 
     // Note: On a production website, you should not output $ex->getMessage(). 
     // It may provide an attacker with helpful information about your code. 
     die("Failed to run query: " . $ex->getMessage()); 
    } 
} 

你可以試試這個。您應該多讀一點關於PDO的內容。

http://php.net/manual/en/book.pdo.php

對你來說

http://php.net/manual/en/pdostatement.bindparam.php

相關問題