Php 正在尝试将用户输入传递到数据库

Php 正在尝试将用户输入传递到数据库,php,html,mysql,input,Php,Html,Mysql,Input,因此,我正在与XAMPP合作,并遵循本教程介绍如何建立网站。现在这个网页是以名字和姓氏命名的。提交后,应将其放入数据库中。每次尝试测试时,我都会遇到此错误:Connected“successfullyError:插入到“user”('fname','lname')值('abc','xyz')中您的SQL语法有错误;请查看与您的MariaDB服务器版本对应的手册,以获取在“user”('fname','lname')值('abc','xyz附近使用的正确语法)'在第1行“ 以下是html的外观:

因此,我正在与XAMPP合作,并遵循本教程介绍如何建立网站。现在这个网页是以名字和姓氏命名的。提交后,应将其放入数据库中。每次尝试测试时,我都会遇到此错误:Connected“successfullyError:插入到“user”('fname','lname')值('abc','xyz')中您的SQL语法有错误;请查看与您的MariaDB服务器版本对应的手册,以获取在“user”('fname','lname')值('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();
?>

我看到的唯一问题是,在表和列中使用单引号
,而不是使用“`”。单引号用作字符串分隔符。 试着换一下这个零件

'user'('fname', 'lname')
进入


尝试更改
$sql=“插入到'user'('fname','lname')值('x','y')”
$sql=“插入到用户(fname,lname)值('x','y')”不起作用。我之前尝试过类似的方法。
user
中的列是什么?如果列名写得不正确或缺少列,则无法正常工作。另外,请查看mysqli::bind_param()
。现在这段代码非常不安全。您的MySql查询在表名上有qoute。还要使用prepared语句。@E2017列为fname和lname。也有一个id列,但我将其设置为自动迭代。哦,哇,我完全误读了教程中的内容。谢谢你,这很有效!
`user`(`fname`, `lname`)