У меня проблема с синтаксической ошибкой, даже когда я пытаюсь ее разрешить. Вот сообщение об ошибке:INSERT INTO проблема синтаксиса
«У Вас есть ошибка в вашем синтаксисе SQL, проверьте руководство, которое соответствует Вашей версии сервера MySQL для правильного синтаксиса использовать вблизи«Рю де Vergennes, 06xxxxxxxx, почта @ почту. ком)»в строке 2"
Вот мой код:
1.html
<form method="post" action="2.php">
<p>
<label>Nom</label> : <input type="text" name="nom"><br>
<label>Prénom</label> : <input type="text" name="prenom"><br>
<label>Adresse</label> : <input type="text" name="adresse"><br>
<label>Numéro de téléphone</label> : <input type="tel" name="tel" pattern="^((\+\d{1,3}(-|)?\(?\d\)?(-|)?\d{1,5})|(\(?\d{2,6}\)?))(-|)?(\d{3,4})(-|)?(\d{4})((x| ext)\d{1,5}){0,1}$"><br>
<label>Adresse e-mail</label> : <input type="email" name="mail"><br>
<input type="submit" name="submit" value="Poursuivre">
</p>
</form>
2.php
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "kitcasino";
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$adresse = $_POST['adresse'];
$tel = $_POST['tel'];
$mail = $_POST['mail'];
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "INSERT INTO donnees (nom, prenom, adresse, tel, email)
VALUES ($nom, $prenom, $adresse, $tel, $mail)";
if (mysqli_query($conn, $sql)) {
echo "Done!";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>
Спасибо, это работает. – cheezburger
приветствуется. пожалуйста, отметьте ответ как принято –
Тогда вам нужно надеяться, что ни одно из значений поля не содержит закрывающей цитаты в любом месте! К счастью, это поддерживается в mysqli_real_escape_string, который будет правильно удалять вход и безопасно вставлять его. – langton