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

时间:2019-02-26 05:03:43

标签: 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行的“用户”('fname','lname')VALUES('rty','rty')'附近使用

有帮助吗?预先感谢。

1 个答案:

答案 0 :(得分:2)

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

import image from './rusty.jpg';

class DogsList extends Component{
   constructor(props){
       super(props);
       this.state= {
          dogs:[
             {name : 'rusty', breed : 'kelpie', image: image},
             {name : 'rex', breed : 'cattle dog', image: image},
             {name : 'rocksea', breed : 'collie', image: image},
          ]
       }
    }
 }