duanji8615
2015-05-08 15:35
浏览 332
已采纳

MySQL使用PHP将DATETIME更新为NOW()

This all worked before I added the section to update "last_update".

if((time() - $last_update) > 7200){
$sql = $dbh->prepare("UPDATE item_list SET quantity=:quantity, price=:price, last_update=:now WHERE item_name=:itemname");
                $sql->bindParam(':quantity', $json->volume);
                $sql->bindParam(':price', $json->lowest_price);
                $sql->bindParam(':itemname', $row['Item_Name']);
                $sql->bindParam(':now', "NOW()");  //This doesn't work
                $sql->execute();
}

When this is called I want to make last_update the date and time now. In the database it is currently a DATETIME, and when I last_update I origianly set them to NOW();

Doing this I get the error Fatal error: Cannot pass parameter 2 by reference in.... Directory

I know it expects a variable, I'm not sure how to fix it though. I tried setting

$now = "NOW()"; $sql->bindParam(':now', $now);

No prevail. Any help?

图片转代码服务由CSDN问答提供 功能建议

在添加更新“last_update”的部分之前,这一切都有效。

  if((time() -  $ last_update)> 7200){
 $ sql = $ dbh-> prepare(“UPDATE item_list SET quantity =:quantity,  price =:price,last_update =:now WHERE item_name =:itemname“); 
 $ sql-> bindParam(':quantity',$ json-> volume); 
 $ sql-> bindParam(':  price',$ json-> lowest_price); 
 $ sql-> bindParam(':itemname',$ row ['Item_Name']); 
 $ sql-> bindParam(':now',“NOW  ()“);  //这不起作用
 $ sql-> execute(); 
} 
   
 
 

当调用它时我想让last_update成为日期和 现在的时间。 在数据库中它当前是DATETIME,当我last_update时,我原始地将它们设置为NOW();

这样做我得到错误致命错误:无法通过参数2 引用....目录

我知道它需要一个变量,我不知道如何修复它。 我尝试设置

$ now =“NOW()”; $ sql-> bindParam(':now',$ now);

不存在。 有什么帮助吗?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • dsft8327 2015-05-08 15:37
    已采纳

    Why you need to bind, just put NOW() directly

    $sql = $dbh->prepare("UPDATE item_list SET quantity=:quantity, price=:price, last_update=now() WHERE item_name=:itemname");
    
    评论
    解决 无用
    打赏 举报
查看更多回答(2条)

相关推荐 更多相似问题