MySQL は DATE を以下のフォーマットで認識します。
・'YYYY-MM-DD' または 'YY-MM-DD'フォーマット。日付それぞれの間では記号が区切り文字として使用されます。例えば、 '2012-12-31'や '2012/12/31'、 '2012^12^31'、 '2012@12@31' などになります。
・区切り文字のない 'YYYYMMDD' または 'YYMMDD' フォーマットを認識します。例えば'20070523' や '070523'は '2007-05-23' と翻訳されますが、'071332'は不正なので(月日の表記が無意味なため)'0000-00-00'となります。
そのため、 '08/14/2014' というstringは、MySQLでは文字として有効ではありません。ここからの選択肢としては4つあります(質問者さんのご要望がくわしくわからないので、どれが一番いいかはわかりませんが)。
1.Datepickerの設定を変更し、dateFormat optionを使ったフォーマットで日付が与えられるようにする。
$( ".selector" ).datepicker({ dateFormat: "yyyy-mm-dd" });
2.MySQLのSTR_TO_DATE()関数を使ってstringを変換する。
INSERT INTO users VALUES ('', '$user_name', STR_TO_DATE('$created', '%m/%d/%Y'))
3.jQueryから受け取るstringをPHPタイムスタンプへ変換する(例:strtotime())
$timestamp = strtotime($_POST['created']);
その他にも
・date()を使ってタイムスタンプをフォーマット化する。
$date = date('Y-m-d', $timestamp);
・FROM_UNIXTIME()(http://dev.mysql.com/doc/en/date-and-time-functions.html#function_from-unixtime)
を使ってタイムスタンプをMySQLへ直投げする。
INSERT INTO users VALUES ('', '$user_name', FROM_UNIXTIME($timestamp))
4.手動でstringを有効な文字として入力する。
$parts = explode('/', $_POST['created']); $date = "$parts[2]-$parts[0]-$parts[1]";
<注意>
そちらのコードはSQLインジェクションに対して弱いです。あらかじめ、変数をSQLで評価されないパラメータとして通すステートメントを用意して使ってください。
また、PHPマニュアルのmysql_*関数についての導入部では、次のように書かれています。
「この拡張モジュールは PHP 5.5.0 で非推奨になりました。将来削除される予定なので、 この拡張モジュールを使って新しくコードを書くことはおすすめしません。 新しくコードを書くときには mysqli や PDO_MySQL を使うべきです。 MySQL API Overview が、MySQL API を選択する際の参考となります」
DATETIMEかTIMESTAMPカラムを使って日付値を保持するようですが、代わりにMySQLのDATEタイプを使うことをオススメします。MySQLの公式では以下のように説明しています。
「DATEタイプは日付部分の値に用いられますが、時間部分には用いられません。MySQLはDATE値を 'YYYY-MM-DD'フォーマットで取得して表示します。対応している幅は'1000-01-01' から '9999-12-31' までとなっています。
DATETIMEタイプは日付時間共に含んだ部分の値に用いられます。MySQLはDATETIME値を'YYYY-MM-DD HH:MM:SS'フォーマットで取得して表示します。対応している幅は'1000-01-01 00:00:00' to '9999-12-31 23:59:59'までとなっています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。