以前に同様の質問をしましたが、まだ有効な回答が得られませんでした。したがって、データベースには、ユーザーに関する情報(first_name、email ...)と、作成日(「作成」)と更新日(「更新」)を含む2つのフィールドを含むテーブルがあります。「更新済み」フィールドのタイプは TIMESTAMP 、デフォルトは ="CURRENT_TIMESTAMP"、属性は ="on Current_timestamp" です。また、「created」フィールドには type="datetime" があり、null default="none" ではありません。問題は、作成日を表示するときに、各ユーザーの横に「0000-00-00 00:00:00」を取得したことです。データベースにユーザーを追加するコードは次のとおりです。
$first_name = trim($_REQUEST['first_name']);
$last_name = trim($_REQUEST['last_name']);
$username = trim($_REQUEST['username']);
$password = trim($_REQUEST['password']);
$email = trim($_REQUEST['email']);
$created = strftime("%Y-%m-%d %H:%M:%S", time());
$insert_sql = sprintf("INSERT INTO users (first_name, last_name, username, password, email, created)" .
"VALUES('%s', '%s', '%s', '%s', '%s', '%s');",
mysql_real_escape_string($first_name),
mysql_real_escape_string($last_name),
mysql_real_escape_string($username),
mysql_real_escape_string(crypt($password, $username)),
mysql_real_escape_string($email),
mysql_real_escape_string($created));
mysql_query($insert_sql) or die(mysql_error());
助けてください、date()、now() などのさまざまな関数を試しましたが、まだ機能しません。
編集:私のテーブルが示すもの:
mysql> SELECT updated, created from users;
+---------------------+---------------------+
| updated | created |
+---------------------+---------------------+
| 2012-09-21 09:09:49 | 0000-00-00 00:00:00 |
| 2012-09-21 09:27:27 | 0000-00-00 00:00:00 |
| 2012-09-22 11:36:19 | 0000-00-00 00:00:00 |
| 2012-09-22 11:43:35 | 0000-00-00 00:00:00 |
+---------------------+---------------------+