在mysql函数中使用一个函数并传入数据库查询

lb3vh1jj  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(270)

这个问题在这里已经有答案了

致命错误:调用未定义的函数now()(2个答案)
未捕获错误:调用未定义的函数now()(3个答案)
如何在php中使用函数now()(2个答案)
两年前关门了。
我有一个名为time\u elapsed\u string的函数,它将mysql函数now()转换为另一种格式。
如何将函数传递给mysql函数并在pdo语句中使用。

$lastseen = time_elapsed_string(NOW());
$query = $pdo->prepare("UPDATE users SET lastseen = 
:lastseen WHERE id=:id");
$query->bindParam(':id', $userid, PDO::PARAM_INT);
$query->bindParam(':lastseen', $lastseen);
$query->execute();

我得到这个错误-致命错误:未捕获错误:调用未定义函数now()

yhuiod9q

yhuiod9q1#

NOW() 是一个mysql函数,不能像这样在php中使用。您不需要参数化mysql函数,因此只需传入用户id:

$query = $pdo->prepare("UPDATE users SET lastseen = 
NOW() WHERE id=:id");
$query->bindParam(':id', $userid, PDO::PARAM_INT);
$query->execute();

如果需要以不同的格式传递,请使用php函数:

$lastseen = time_elapsed_string(time());

或者

$lastseen = time_elapsed_string(date('Y-m-d H:i:s')); // change your format as necessary.

并以当前代码的形式传递它。

相关问题