Я создал форму, где пользователи вводят свои регистрационные данные, и она вводит их в базу данных SQL с помощью запроса. Тем не менее, я ввожу все детали, нажимаю «отправить», и он возвращает ошибку 500 сервера.
Я новичок в связывании & выполнение так, вероятно, ускользнуло с форматом строк mysqli.
registrationsubmit.php
<font face="ClearSans-Thin">
<font color="lightgray">
<?php
include 'registrationform.php';
include 'connection.php';
?>
<center>
<?php
if (isset($_POST['regsubmit'])) {
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$user = $_POST['username'];
$pass = $_POST['password'];
if ($stmt = mysqli_prepare($dbhandle, $query = "INSERT INTO users (FirstName, LastName, Username, Password) VALUES (?,?,?,?)")) {
mysqli_stmt_bind_param($stmt, 'ssss', $firstname,$lastname,$user,$pass);
mysqli_stmt_execute($stmt) or die('This username is already in use - Please choose another one');
}else{
die('Error when preparing '.mysqli_error($dbhandle));
}
Echo "Registration Successful - Press the Home button to return to the homepage.";
}
?>
</center>
Если вы внимательно посмотрите, вы найдете избыточное назначение переменных. Попробуйте использовать это вместо:
$stmt = mysqli_prepare($dbhandle, "INSERT INTO users (FirstName, LastName, Username, Password) VALUES (?,?,?,?)")
Других решений пока нет …