【发布时间】:2019-11-14 02:08:02
【问题描述】:
所以我正在使用 XAMPP,并且我正在关注如何设置网站的本教程。现在该网页采用名字和姓氏。提交后,应将它们放入数据库中。每次我尝试测试它时都会收到此错误:Connected "successfullyError: INSERT into 'user'('fname', 'lname') VALUES ('abc','xyz') 你有SQL 语法错误;请查看与您的 MariaDB 服务器版本相对应的手册,以了解在 ''user'('fname', 'lname') VALUES ('abc','xyz')' 附近使用的正确语法1"
这是 html 的样子:
<!DOCTYPE html>
<html>
<body>
<form action="submit.php" method="post">
First Name:<br>
<input type="text" name="firstname">
<br>
Last Name:<br>
<input type="text" name="lastname">
<br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
这是具有将页面连接到数据库的 php 代码的文件。我是php新手,我试图定位语法错误,但无济于事。
<?php
$x = $_POST['firstname'];
$y = $_POST['lastname'];
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "db1";
//create connection
$conn = new mysqli($servername, $username, $password, $dbname);
//Check connection
if ($conn->connect_error)
{
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
$sql = "INSERT into 'user'('fname', 'lname') VALUES ('$x','$y')";
if($conn->query($sql) === TRUE)
{
echo "That's going on your permanent record loser";
}
else { echo "Error: " . $sql . "<br>" . $conn->error; }
$conn->close();
?>
【问题讨论】:
-
尝试将
$sql = "INSERT into 'user'('fname', 'lname') VALUES ('$x','$y')";改为$sql = "INSERT INTO user (fname, lname) VALUES ('$x','$y')"; -
没用。我之前尝试过类似的方法。
-
user中的列是什么?如果列名没有正确写入或者您缺少列,它将无法正常工作。另外,请查看mysqli::bind_param()。现在这段代码非常不安全。 -
您的 MySql 查询在表名上有 qoute。也使用准备好的语句。
-
@E2017 列是 fname 和 lname。还有一个 id 列,但我将其设置为自动迭代。