私はテーブルを持っていて、theDateフィールドはINT(32)として構造化されています。mySQL整数フィールド(INT)にPHPを使ってUNIXのタイムスタンプを挿入するのに最適な方法は?
PHPスクリプトの作成mySQL PDOを使用して、日付のINTテーブルフィールドにUNIXのタイムスタンプを整数として挿入したいと考えています。これを行う最善の方法は何ですか?私のtheDateフィールドにとって最も効率的なサイズは何ですか? 8,16,32?
コード:
$theDate = now(); // this returns a 0 in theDate mySQL field
$stmt = $db->prepare("INSERT INTO countries(name, capital, language, theDate) VALUES (:country, :capital, :language, :theDate)");
$stmt->bindParam(':country', $country, PDO::PARAM_STR, 100);
$stmt->bindParam(':capital', $capital, PDO::PARAM_STR, 100);
$stmt->bindParam(':language', $language, PDO::PARAM_STR, 100);
$stmt->bindParam(':theDate', $theDate);
if($stmt->execute()) {
echo '1 row has been inserted';
}
私はこれをGoogleで検索してこのサイトを検索しました。..良い答えを見つけることができません
おかげ
はいけない - 代わりに適切な 'datetime'フィールドを使用します。あなたは日付で何かを取得したいときにはもっと楽になりますが、この場合、 'timestamp'フィールドが必要なように見えます。レコードが最後に更新された時刻を記録することを除いて、* country *テーブル。 – CD001
ここには@ CD001があります。最も効率的なサイズは 'DATETIME'フィールドで、ネイティブフォーマットを使用すると、たくさんの[追加機能](http://dev.mysql.com/doc/refman/5.7/en/date-and-time -functions.html)を作成し、人間が読めるようにします。タイムゾーンの問題を避けるために**これらの時刻をUTC **として挿入してください。これらの値が関連している場合は、これらの値を表示するときにPHPでタイムゾーン変換を行うことができます。 – tadman