1

Webサイトの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

日付を正しくフォーマットする必要があります。以前のチュートリアルの 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 に答える