这是一种不正确的获取日期时间的方式吗



我通过以下方式获取日期时间:

class DB_Functions extends DB_Connect{
    private $dbConnect = "";
    public $dtime;
    public function __construct() {
        $this->dbConnect = $this->pdo_connect();
        $this->dtime = new DateTime();
    }
    public function destruct() {
        $this->dbConnect = null;
    }

    public function exampleInsert() {
        .
        .
        .
        $result->bindParam(':dateCreation',$this->dtime->format("Y-m-d H:i:s"),PDO::PARAM_STR);
    }
}

然后,当我使用dtime插入表时,如下所示:

Line 1708: $result->bindParam(':dateCreation',$this->dtime->format("Y-m-d H:i:s"),PDO::PARAM_STR);

显示此错误:

<b>Strict Standards</b>:  Only variables should be passed by reference in <b>includeDB_Functions.php</b> on line <b>1708</b><br />

我获取日期时间的声明是错误的?

问题是您使用的是bindParam(),它实际上将变量绑定到查询中的参数。这必须是一个变量,而不是返回值的方法调用。

这允许使用类似:

$value = 'somevalue';
$result->bindParam(':some_field', $value);
$value = 'someothervalue';
$result->execute(); // executes query with 'someothervalue' passed as parameter.

在您的情况下,您可能希望使用bindValue()。它实际上以一种不可变的方式将值绑定到参数。或者将格式化的日期时间存储到另一个类变量中,并继续将bindParam()与该新变量一起使用。

相关内容

  • 没有找到相关文章

最新更新