我创建了一个表单,用户在其中输入他们的注册详细信息,并使用查询将其输入到SQL数据库中。但是,我输入了所有详细信息,单击submit,结果返回服务器错误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 (?,?,?,?)")