我正在尝试使用NOW()mysql函数来更新插入行的datetime列。 datetime列称为' transaction'。我尝试找到一个类似的PHP函数来镜像/模仿日期时间格式,但找不到合适的。
$purchase = query("INSERT INTO `Portfolio`(`id`, `symbol`, `shares`, `transaction`, `transType`) VALUES ((?),(?),(?),(?),(?)) ON DUPLICATE KEY UPDATE shares = shares + VALUES(shares)",$user,$symbol,$shs,NOW(),"BUY");
答案 0 :(得分:2)
您可以使用PHP date
函数:
date("Y-m-d H:i:s")
放置当前时间
或者您无法绑定参数:
$purchase = query("INSERT INTO `Portfolio`(`id`, `symbol`, `shares`, transaction`, `transType`) VALUES (?,?,?,NOW(),?) ON DUPLICATE KEY UPDATE shares = shares + VALUES(shares)",$user,$symbol,$shs,"BUY");
答案 1 :(得分:0)
NOW()代替其中一个“?”,而不是绑定列表。
如果您还希望在语句变为UPDATE的情况下更新该字段,那么您也需要在SET中使用它。
答案 2 :(得分:0)
$database = new database;
$now = $database->now();
class database {
...
public function now($query = "SELECT NOW();"){
$sth = $this->connect->prepare($query);
// execute
if ($sth->execute()) {
$result = $sth->fetch(PDO::FETCH_ASSOC);
return $result["NOW()"];
} else {
echo "\nPDO::errorInfo():\n";
print_r($sth->errorInfo());
echo "\nQuery:\n";
echo $query;
echo "\nParam:\n";
}
}
}