未捕获的PDOException:SQLSTATE [HY093]:参数号

时间:2016-09-23 22:10:46

标签: php sql pdo prepared-statement innodb

您好我有以下代码似乎只是想不工作,我已经完成了相同的代码,之前工作正常,所以我不知道为什么它现在不工作。它返回错误:"致命错误:未捕获PDOException:SQLSTATE [HY093]:参数号无效..."

这是我调用编辑数据库的Php pdo函数:

public function update_email_validation($params)
{
    $stmt = $this->conn->prepare('
            UPDATE email_validation
            SET status=:status
            WHERE email=:email
            AND hash=:hash
            AND status!=:status
            LIMIT 1');

    $stmt->bindParam(':status', $params['status'], PDO::PARAM_INT);
    $stmt->bindParam(':email', $params['email'], PDO::PARAM_STR);
    $stmt->bindParam(':hash', $params['hash'], PDO::PARAM_STR);

    $stmt->execute();
    return $stmt->rowCount();
}

然后这是来自php传递数组的调用:

if ($db->update_email_validation(
       ['status' => 1,
        'email' => $params['email'],
        'hash' => $params['hash']]
    ) == 0)
{

}

提前感谢。

0 个答案:

没有答案