Я создал это для одного из своих проектов. У нас есть интернет-магазин, где пользователи могут вводить свои учетные данные и заказывать продукты. Текущее решение помещает все данные в файл .csv, и мне было поручено создать базу данных mysql в качестве нового решения.
Я добавил простую HTML-вставку, чтобы пользователь мог ввести свое имя, но если я попытаюсь запустить сценарий, я получаю синтаксическую ошибку для строки 19. Я новичок в программировании и поэтому не уверен, в чем заключается ошибка.
<!DOCTYPE html>
<html>
<body>
<?php
$servername = "localhost";
$username = "localhost";
$password = "";
$dbname = "test"
// create a variable
$Vorname=$_POST['Vorname'];
$Nachname=$_POST['Nachname'];
//Execute the query
mysqli_query($connect "INSERT INTO tbl_bestellungen(Vorname,Nachname)
VALUES('$Vorname','$Nachname')");
<?php include 'database.php';>
if (mysqli_affected_rows($connect) > 0){
echo "<p>Bestellung erfasst</p>";
} else {
echo "Bestellvorgang fehlgeschlagen<br />";
echo mysqli_error ($connect);
<h2>Text Input</h2>
<form>
Vorname:<br>
<input type = "text" name = "Vorname">
<br>
Nachname:<br>
<input type = "text" name = "Nachname">
<input type = "submit" name = "button1" value = "Senden">
</form>
</body>
</html>Заранее спасибо.
Вы забыли запятую после $connect. Голосование не по теме из-за опечатки.






Что ж, вы должны сделать так:
$servername = "localhost";
$username = "localhost";
$password = "";
$dbname = "test"
$dbConn = mysqli_connect($servername, $username, $password, $dbname);
if (!$dbConn){
echo "No Db connected";
}
//above connection code should be in a separate file and include in all files or header
$Vorname=$_POST['Vorname'];
$Nachname=$_POST['Nachname'];
$query = "INSERT INTO tbl_bestellungen (Vorname,Nachname)
VALUES('$Vorname','$Nachname')";
or you can set query like
$query = "INSERT INTO tbl_bestellungen (Vorname,Nachname)
VALUES('".$Vorname."','".$Nachname."')";
if ($dbConn->query($query)){
echo "Record inserted !";
}else{
echo "Record cannot be inserted !";
}
Это похоже на игру в поисках отличия, а не на ответ. Что вы изменили? Почему это должно решить проблему?
2 вещи, у него есть синтаксическая ошибка, на которую ответят (если он продолжит путь), во-вторых, кавычки должны быть вокруг, когда мы используем переменные в запросе (хотя переменные отлично работают без этого, если мы используем двойные кавычки)
"у него синтаксическая ошибка, на которую дан ответ" - Как? Еще раз: ответы не должны быть игрой на выявление разницы.
«хотя переменные прекрасно работают и без этого, если мы используем двойные кавычки» - что и делает код в вопросе, так что это просто отвлекающий маневр, затрудняющий чтение кода.
<? php include 'database.php';> находится внутри уже открытого блока php. Вы также добавляете прямой html в файл php, не закрывая тег php. Этот код также никогда не будет работать, поскольку запрос будет выполняться с пустыми операторами. Вам нужно обернуть все проверкой $ _POST.