没有抛出错误,但数据没有插入数据库(PHP PDO)[重复]

Posted

技术标签:

【中文标题】没有抛出错误,但数据没有插入数据库(PHP PDO)[重复]【英文标题】:No error being thrown but data not inserting into db (PHP PDO) [duplicate] 【发布时间】: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();
    


【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于没有抛出错误,但数据没有插入数据库(PHP PDO)[重复]的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 PDO 插入 MySQL 数据库....没有错误

PHP/MySQL/PDO - 结果错误但没有数据库错误消息?

如何使用 PDO 在 PHP 中绑定 bigint 值?

尝试使用 PDO 连接到错误的数据库时 PHP 不显示错误

更新选择列表而不刷新 [PDO/PHP/AJAX]

JS数组到PHP并使用PDO更新MYSQL中的表