【问题标题】:No error being thrown but data not inserting into db (PHP PDO) [duplicate]没有抛出错误,但数据没有插入数据库(PHP PDO)[重复]
【发布时间】:2020-03-13 02:28:30
【问题描述】:

我有一个 PHP 函数可以使用 PDO 将新用户插入 MySQL 数据库,但由于某种原因,数据最终没有插入,它不会引发错误,我可以手动插入数据,但似乎无法计算出了问题?

public function createNewUser($username, $password, $firstname, $lastname)
{
    try
    {
        $hashedPassword = password_hash($password, PASSWORD_DEFAULT);
        $sqlQuery = "INSERT INTO users(u_username, u_password, u_firstname, u_lastname, u_datecreated) VALUES (?, ?, ?, ?, ?)";
        $statement = $this->_dbHandle->prepare($sqlQuery)->execute([$username, $hashedPassword, $firstname, $lastname, date(SQL_DATE)]);

        print "INSERTED USER";
    }
    catch (PDOException $e)
    {
        echo $e->getMessage();
        die();
    }

}

【问题讨论】:

    标签: php mysql oop pdo


    【解决方案1】:

    我没有意识到您在使用 PDO 时必须启用错误消息,添加以下行后,它显示我在 db 中的密码列不够大,无法存储散列密码。

    $this->_dbHandle->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-16
      • 1970-01-01
      • 2011-02-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多