Я пытаюсь подключить свой php-код к своей базе данных, и как только я ввожу и отправляю такие вещи, как имя пользователя, адрес электронной почты и пароль, в моей html-форме.Они будут отправлены в мою базу данных и показаны в определенных столбцах, а на моей странице будет текст типа «Новая запись успешно создана».Но сейчас вместо этого происходит ошибка.
Ниже приведен мой php-код
<?php
$visitorname = $emailaddress = $visitorpassword = $confirmpassword = "";
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "mydb";
if($_SERVER["REQUEST_METHOD"] == "POST"){
$visitorname = input($_POST["visitorname"]);
$emailaddress = input($_POST["emailaddress"]);
$visitorpassword = input($_POST["visitorpassword"]);
$confirmpassword = input($_POST["confirmpassword"]);
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
}
function input($data){
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
if($visitorpassword == $confirmpassword){
// Create connection
$conn = new mysqli($servername, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
$id = mysqli_insert_id($conn);
$sql = "INSERT INTO registereduser (id, username, emailaddress,
hashedpassword) VALUES ($id, $visitorname, $emailaddress,
$hashed_password)";
if ($conn->query($sql) === TRUE){
echo "New record created successfully";
}else{
echo "Errors " . $sql . "<br>" . $conn->error;
}
$conn->close();
}else{
echo "Passwords do not match";
}
?>
Ниже выводится сообщение об ошибке, отображаемое на моей веб-странице:
Подключено успешноErrorsINSERT INTO registereduser (идентификатор, имя пользователя, адрес электронной почты, хэш-пароль). ЗНАЧЕНИЯ (0, Josh5577, josh1998@hotmail.com, $ 2y $ 10 $ RMasEdVOskmcXbmfchLeBeUzLa5l38jXFaCQN7vMEhR8 * 100U * 8CU8 * 08UU) 8UU * 88UM * 88U) *