【问题标题】:Using a function in mysql function and passing into database query [duplicate]在mysql函数中使用函数并传递给数据库查询[重复]
【发布时间】:2018-12-03 19:20:31
【问题描述】:

我有一个名为 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()

【问题讨论】:

  • 这是 PDO,不是 mysql

标签: php mysql database function pdo


【解决方案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.

并像在当前代码中一样传递它。

【讨论】:

    猜你喜欢
    • 2013-02-03
    • 2012-12-25
    • 2013-04-10
    • 1970-01-01
    • 1970-01-01
    • 2015-12-01
    • 1970-01-01
    • 2022-01-26
    • 1970-01-01
    相关资源
    最近更新 更多