Показать сообщение об ошибке

0

Я хочу попытаться получить, если существует игровое имя, оно должно дать сообщение о том, что имя существует. Попробуйте другое имя пользователя. Если этого не существует, он должен дать успешное вставление в 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');

}

заранее спасибо

Теги:
pdo

1 ответ

-1

Чтобы показать результат запроса 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)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню