1

我的 facebook 注册插件有 1 个问题需要解决。我试图将生日插入数据库,facebook 格式是 dd-mm-yyyy ...我得到结果 0000-00-00,

<code>
$sql = "INSERT INTO users(facebook, 
                          email, 
                          username, 
                          country, 
                          gender, 
                          dob,
                          password, 
                          profile, 
                          activated, 
                          ip)
        VALUES(?, ?, ?, ?, ?, ?, ?, 'images/default_profile.png', 1,  ? 

$data = array($fbId, $register['email'],
                     $register['username'],
                     $location,
                     $register['gender'],
                     $register['birthday'],
                     md5($register['password']),
                     $_SERVER['REMOTE_ADDR']
             );

任何帮助都会很棒,谢谢

4

2 回答 2

1

您需要正确格式化日期。在我以前的教程之一中,我使用了这样的东西(希望它仍然有效):

$fb_birthday = date("Y-m-d" , strtotime($fb_birthday));
于 2012-11-01T22:02:52.880 回答
0

是的,对于 MySQL,您必须将其作为 'YYYY-MM-DD' 格式的字符串提交,如果不是,则将其视为无效条目并且该字段设置为 '0000-00-00' 在发送之前将其转换为 php . 如果您确定来自 Facebook 的格式始终为 dd-mm-yyyy,我将在破折号分隔符上分解字符串并重新排列值的顺序。

$fbDate =  $register['birthday'];
$dateArray = explode("-", $fbDate);

$newDate = $dateArray[2]."-".$dateArray[1]."-".$dateArray[0];

然后将数据数组中的 $newDate 用于准备好的语句。

$data = array($fbId, $register['email'],
                 $register['username'],
                 $location,
                 $register['gender'],
                 $newDate,
                 md5($register['password']),
                 $_SERVER['REMOTE_ADDR']
         );
于 2012-11-01T21:31:32.537 回答