Просто сделайте следующее:
mysql_query("INSERT INTO tablename (id, value, time_created)
VALUES ('$id', '$value', NOW())");
Хотя у вас должен быть правильный тип столбца. Только дата
или время
не будут работать, если я правильно помню; это должно быть datetime
или, может быть, timestamp
?
ПРЕДУПРЕЖДЕНИЕ
mysql _ *
устарел с PHP 5.5.0 и выше: http: // php.net/manual/en/function.mysql-query.php
Пожалуйста, используйте вместо этого PDO; см. ответ Стефана Герига.
кроме NOW () я также использую столбец типа «отметка времени» и устанавливаю его значение по умолчанию CURRENT_TIMESTAMP .. поэтому я просто ничего не передаю для этого поля, и время устанавливается автоматически. возможно, это не совсем то, что ты ищешь.
Because nobody has explicitly answered the question, I'll add the correct answer for the sake of completeness.
$stmt = $pdoDb->prepare('INSERT INTO tablename (id, value, time_created) VALUES (:id, :value, NOW())');
// either bind each parameter explicitly
$stmt->bindParam(':id', $id); // PDOStatement::bindValue() is also possibly
$stmt->bindParam(':value', $value);
$stmt->execute();
// or bind when executing the statement
$stmt->execute(array(
':id' => $id,
':value' => $value
));
Ни один из ответов не решает вопрос, как я его вижу!
Итак, вот некоторые из моих выводов: НЕТ СПОСОБА заставить PDO передавать вызов функции MySQL в качестве значения запроса - поэтому нет способа сделать простую оболочку, которая сможет использовать СЕЙЧАС () или любую другую функцию в качестве переданных значений. Каждый раз, когда вам нужно что-то подобное, вам нужно вручную изменить запрос, чтобы вызов функции был частью строки запроса. : - (
Я использую функцию, которая проверяет заданные значения для функции MySQL, которую я использую, и изменяет сам запрос, но, на мой взгляд, это не лучшее решение ...: -}
{{1} }