Я хочу попытаться получить, если существует игровое имя, оно должно дать сообщение о том, что имя существует. Попробуйте другое имя пользователя. Если этого не существует, он должен дать успешное вставление в db.
if (isset($_POST['save'])) {
$playername = $_POST['playername'];
$messagetosend = $_POST['messagetosend'];
$svar = $_POST['svar'];
$sentmessage = $_POST['sentmessage'];
$datum = $_POST['datum'];
mysqli_query($db, "INSERT INTO rekrytering (playername, messagetosend, svar, sentmessage, datum) VALUES ('$playername', '$messagetosend', '$svar', '$sentmessage', '$datum')");
$_SESSION['message'] = "Player saved";
$_SESSION['playername'] = "Player Name Exist";
header('location: index.php');
}
заранее спасибо
Чтобы показать результат запроса INSERT
, вам нужно использовать mysqli_error
:
Изменить:
mysqli_query($db, "INSERT INTO rekrytering (playername, messagetosend, svar, sentmessage, datum) VALUES ('$playername', '$messagetosend', '$svar', '$sentmessage', '$datum')");
Для того, чтобы:
mysqli_query($db, "INSERT INTO rekrytering (playername, messagetosend, svar, sentmessage, datum) VALUES ('$playername', '$messagetosend', '$svar', '$sentmessage', '$datum')") or die(mysqli_error($db));
Еще один способ сделать то же самое, что и follows--
if(!mysqli_query($db,"INSERT INTO rekrytering (playername, messagetosend, svar, sentmessage, datum) VALUES ('$playername', '$messagetosend', '$svar', '$sentmessage', '$datum')")) {
echo("Error occurred: " . mysqli_error($db));
}
Все сказанное, ваш код уязвим для SQL-инъекции, поскольку вы используете значения $_POST
непосредственно внутри вашего оператора INSERT
.
Я настоятельно рекомендую вам использовать подготовленные инструкции для предотвращения уязвимостей SQL-инъекций и т.д.
Один из них должен быть прочитан: Bobby Tables: руководство по предотвращению SQL-инъекции (PHP)