没有抛出错误,但数据没有插入数据库(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)[重复]的主要内容,如果未能解决你的问题,请参考以下文章