2012-05-16 93 views
0

所以我在生活網站上有一個奇怪的問題,我不知道是什麼造成了這個問題,因爲在mysql表中的datetime字段有時會映射時間,它不是。但日期總是被映射。Zend_Db_Expr('NOW()')和日期時間在Mysql

代碼是這樣的:

$party_system_id = $this->blabla->addUser($username, 'None', 'None', '', 
    $email,$promo_code,$distributor_id); 

    if ($party_system_id!=0){ 

    $loginToken = md5(uniqid(rand(), true));  

     $params = array(
      'sponsorId' => $sponsor_id, 
      'refferalId' => $referral_id, 
      'accountType' => $type, 
      'email' => $email, 
      'username' => $username, 
      'password' => md5($password), 
      'firstName' => 'n/a', 
      'lastName' => 'n/a', 
      'expires' => $expiration_date, 
      'activated' => 1, 
      'gender' => $gender, 
      'languageId' => 38, 
      'onlineStatus'=> 0, 
      'status' => 5, 
      'dateAdded' => new Zend_Db_Expr('NOW()'), 
      'blaId' => $party_system_id, 
    'loginToken' => $token, 
      'termsAccepted' => 1 
     ); 

     return $this->insert($params); 

    } 

和登記是永諾精細,但就像我對很多用戶說insted的的: 2012-05-16 10時20分33秒我會得到: 2012-05-16 00:00:00當然它不是00:00:00在註冊:)

我不知道什麼可以是一個問題,MySQL,腳本結構,或Zend_Db_Expr。我也沒有一個想法如何正確調試這一點,但所有的建議都更受歡迎:)

+1

你的代碼看起來不錯。你有創建後可能正在更新行的任何編輯屏幕? –

+0

不,我不... – Splendid

+1

NOW()應該在所有情況下工作 - 這真的很奇怪。 –

回答

0

確保dateAdded字段確實有Ymd H:我:s作爲格式, ,但你也可以簡單地使用date('Y-m-d H:i:s')

$params = array(
     'sponsorId' => $sponsor_id, 
     'refferalId' => $referral_id, 
     'accountType' => $type, 
     'email' => $email, 
     'username' => $username, 
     'password' => md5($password), 
     'firstName' => 'n/a', 
     'lastName' => 'n/a', 
     'expires' => $expiration_date, 
     'activated' => 1, 
     'gender' => $gender, 
     'languageId' => 38, 
     'onlineStatus'=> 0, 
     'status' => 5, 
     'dateAdded' => date('Y-m-d H:i:s'), 
     'blaId' => $party_system_id, 
     'loginToken' => $token, 
     'termsAccepted' => 1 
    ); 
+0

它的工作,同樣的方式,一些成員確實有一個時間映射,但其中大多數沒有任何建議如何調試? – Splendid