Я пытаюсь подключить страницу HTML, используя форму PHP, к базе данных MySQL, используя Xampp. HTML-страница работает нормально, но как только я нажимаю кнопку «Отправить», появляется страница с различными символами, кто-нибудь может помочь с проблемой?! [Php page] [1]
HTML код:
<html>
<body>
<body bgcolor="black">
<font color="white">
<form action="a.php" method="post">
<center>
<h1><font color = "gold"><marquee>Welcome to online bus booking!!!</h1></marquee> </font color>
<h3>
First Name:<br><input type = "text" name = "fnm"><br>
Last name:<br><input type = "text" name = "lnm"><br>
Mobile:<br><input type = "text" name = "mob"><br>
Age:<br><input type = "number" name = "age"><br>
Source:<input type = "text" name = "src">
Destination:<input type = "text" name = "des"><br>
<font color="orange">Passenger Address:<br></font color>
Street:<br><input type = "text" name = "str"><br>
Area:<br><input type = "text" name = "area"><br>
City:<br><input type = "text" name = "cty"><br>
<input type = "submit">
</h3>
</center>
</form>
</body>
</html>
Код PHP:
<?php
$con=mysqli_connect("localhost","root","","testdb");
if(mysqli_connect_error())
{
echo "FAILED" . mysqli_connect_error();
}
$sql="INSERT INTO exp VALUES('$_POST[fnm]', '$_POST[lnm]', $_POST[mob], $_POST[age], '$_POST[src]', '$_POST[des]', '$_POST[str]', '$_POST[area]', '$_POST[cty]')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);
?>
Здесь, позвольте мне исправить синтаксис:
$sql="INSERT INTO exp VALUES('".$_POST['fnm']."','".$_POST['lnm']."','".$_POST['mob']."', '".$_POST['age']."','".$_POST['src']."','".$_POST['des']."','".$_POST['str']."','".$_POST['area']."', '".$_POST['cty']."')";
этот код неверен: $sql="INSERT INTO exp VALUES('$_POST[fnm]', '$_POST[lnm]', $_POST[mob], $_POST[age], '$_POST[src]', '$_POST[des]', '$_POST[str]', '$_POST[area]', '$_POST[cty]')";
как вы не ссылаетесь $_POST variables using their name
, пропущенные кавычки вокруг имени переменной. исправьте строку и ваши данные должны быть успешно вставлены.
Попробуйте использовать следующий PHP и дайте нам знать, что происходит:
$sql="INSERT INTO `exp` VALUES('{$_POST['fnm']}', '{$_POST['lnm']}',
'{$_POST['mob']}', '{$_POST['age']}', '{$_POST['src']}', '{$_POST['des']}',
'{$_POST['str']}', '{$_POST['area']}', '{$_POST['cty']')"or die('Error: ' . mysqli_error($con));
$output = $con->$sql
echo "1 record added";
mysqli_close($con);
Есть ли что-нибудь по-другому?
Примечание: чтобы быть синтаксически правильным, вы бы хотели явно указать, куда вы хотите вставить значения, следующим образом:
$sql="INSERT INTO `table_name` (`first_value`, `second_value`, `third_value`)
VALUES ('{value1}', '{value2}', '{value3}');";
Я знаю, что уже слишком поздно, ребята, но я решил проблему. Это не значит, что мне понадобилось 3 года, чтобы решить ее, я просто забыл опубликовать ответ. Это происходило потому, что я редактировал php-код в Wordpad. Я скопировал и сохранил код в блокноте, и проблема была решена.
Спасибо за ваш ценный вклад, ребята.