我有一个名为 time_elapsed_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()
答案 0 :(得分:1)
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.
并按照您当前的代码进行传递。