我有一个HTML表单,应该将数据发布到SQL数据库中,提交时没有错误,但数据库没有收到数据。
<?php
include 'init.php';
//check if submit button is clicked
if(isset($_POST['submit'])) {
$User_Username = $_POST['User_Username'];
$User_First_Name = $_POST['User_First_Name'];
$User_Surname = $_POST['User_Surname'];
$User_Email = $_POST['User_Email'];
$User_Password = $_POST['User_Password'];
// prepare sql and bind parameters
$stmt = $pdo->prepare("INSERT INTO users (User_Username, User_First_Name, User_Surname,User_Password,User_Email)
VALUES (:User_Username, :User_First_Name, :User_Surname, :User_Password, :User_Email");
$stmt->bindParam(':User_Username', $User_Username);
$stmt->bindParam(':User_First_Name', $User_First_Name);
$stmt->bindParam(':User_Surname', $User_Surname);
$stmt->bindParam(':User_Email', $User_Email);
$stmt->bindParam(':User_Password', $User_Password);
$stmt->execute();
}
?>
<br>
<form action="" method="post">
<label>Username :</label><br>
<input type="text" name="User_Username" id="User_Username" required="required" placeholder=""/><br /><br />
<label>First Name :</label><br>
<input type="text" name="User_First_Name" id="User_First_Name" required="required" placeholder=""/><br /><br />
<label>Surname :</label><br>
<input type="text" name="User_Surname" id="User_Surname" required="required" placeholder=""/><br /><br />
<label>Email :</label><br>
<input type="email" name="User_Email" id="User_Email" required="required" placeholder=""/><br/><br />
<label>Password :</label><br>
<input type="Password" name="User_Password" id="User_Password" required="required" placeholder=""/><br /><br />
<br>
<input type="submit" value=" submit " name="submit"/><br />
</form>
</body>
</html>
答案 0 :(得分:1)
您没有关闭VALUES (...
。
你应该:
$pdo->prepare("INSERT INTO users (User_Username, A_Lot_more)
VALUES (:User_Username, :A_Lot_More)");
// ^ This one was missing
并且您不应该将密码保存为纯文本。使用password_hash()
- http://php.net/password_hash