0

所以我在实时网站上遇到了一个奇怪的问题,我不确定是什么导致了这个问题,因为在 mysql 表的 datetime 字段中,有时会映射时间,而更多时候不是。然而,日期总是被映射。

代码如下:

   $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);

    }

注册总是很好,但就像我对很多用户说的那样: 2012-05-16 10:20:33我会得到:2012-05-16 00:00:00当然不是 00:注册时 00:00 :)

我不确定什么可能是问题,mysql、脚本结构或 Zend_Db_Expr。我也不知道如何正确调试它,但所有建议都更受欢迎:)

4

1 回答 1

1

确保 dateAdded 字段确实具有 Ymd H:i: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
    );
于 2012-05-16T15:37:59.393 回答