我几个小时都在努力。我绝对不知道为什么它不会将我的信息发送到我的数据库...我之前使用过相同的策略并且它运行得非常出色。现在它无论如何都不会INSERT。请帮忙!
if ($validForm) {
try {
$stmt = $conn->prepare('INSERT INTO credentials (firstname, lastname, username, password) VALUES (:fname, :lname, :username, :password)');
$stmt->bindValue(':fname',$firstname);
$stmt->bindValue(':lname',$lastname);
$stmt->bindValue(':username',$username);
$stmt->bindValue(':password',$password);
$passwordHash = password_hash($password, PASSWORD_BCRYPT, array("cost" => 12));
$stmt->bindValue(':password',$passwordHash);
$stmt->execute();
} catch(PDOException $e) {
echo $e->getMessage();
}
?>
<p class="success-message">Thank You. Your Form Has Been Submitted.</p>
<?php
}
答案 0 :(得分:1)
您的密码列设置为什么数据类型,排序规则和长度?
在屏幕截图中,所有密码都是短文本字符串,但如果我将哈希代码应用于第一个密码,则结果为:
$2y$12$S7tIbSxqNNhn/Z7AyA8ewuq09IE/psFyVL5udLUNgmP4Q7vTd/qFO
你的桌子会接受吗?
答案 1 :(得分:0)
我认为你应该是其中之一:
$stmt->bindValue(':password',$passwordHash);
或者
$stmt->bindValue(':password',$password);