mysql - 输入数据时出现 SQL 语法错误

标签 mysql sql database

我是一名初级程序员,我遇到了一个我似乎无法克服的问题。我预测这是一个小的语法错误,但我不知道。

我使用的代码如下:

<?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 "New record created succesfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

?>

一旦我按提交输入数据,就会出现以下错误:

连接成功错误:INSERT INTO 'user' ('fname', 'lname') VALUES ('rty', 'rty') 您的 SQL 语法有误;检查与您的 MariaDB 服务器版本相对应的手册,以了解在第 1 行的“user”(“fname”、“lname”)VALUES(“rty”、“rty”)附近使用的正确语法

有什么帮助吗?提前致谢。

最佳答案

更新您的查询,将表名和列名中的单引号 (') 替换为 (`),如

$sql = "INSERT INTO `user` (`fname`, `lname`) VALUES ('$x','$y')";

关于mysql - 输入数据时出现 SQL 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54878723/

相关文章:

ruby-on-rails - Rails Heroku 数据库人口

mysql - 使用 INNER join 的 SQL 查询花费的时间太长

mysql - 如何透视 MySQL 表中的某些值并单独显示

mysql - 选择包含mysql中特定字符的值

mysql: 0 而不是空表

mysql - 最便宜的 SQL 语句可能/是否有客户端 SQL 语句?

java - SQLiteAssetHelper - 如何使用 AssetHelper 将新数据插入现有数据库?

php - MariaDB 使用错误的主机,无法连接 php 应用程序

sql - 我们什么时候可以在 PostgreSQL 中使用标识符号来代替其名称?

android - 如何在android中使用数据库数据在canvas上绘图