Php #1064-您的SQL语法有错误;近'@gmail.com、ewefasd asdsd)和#x27;

Php #1064-您的SQL语法有错误;近'@gmail.com、ewefasd asdsd)和#x27;,php,mysql,Php,Mysql,我尝试使用php将数据插入mysql表,我尝试了很多次,但我不知道这里有什么问题。我尝试使用回声显示查询。它正在展示这个 INSERT INTO `inquiry` (id,name,contact,email,query) values ('',vijay,15461485,asasf@gmail.com, ewefasd asdsd) 我的php查询是这样的 <?php include('config.php'); if (isset($_POST['submit'])) { $na

我尝试使用php将数据插入mysql表,我尝试了很多次,但我不知道这里有什么问题。我尝试使用回声显示查询。它正在展示这个

INSERT INTO `inquiry` (id,name,contact,email,query) values ('',vijay,15461485,asasf@gmail.com, ewefasd asdsd)
我的php查询是这样的

<?php
include('config.php');
if (isset($_POST['submit'])) {
$name=$_POST['userName'];
$mail=$_POST['userMail'];
$phone=$_POST['userPhone'];
$msg=$_POST['userMsg'];
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
test_input($name);
test_input($mail);
$query="INSERT INTO `inquiry` (id,name,contact,email,query) values ('',$name,$phone,$mail,$msg)";
$qur=mysql_query($query);
    if ($qur) {
        header('location:'. $_SERVER['HTTP_REFERER']);
    }
    else {
        echo $query;
    }
}
?>

这里有什么问题,我不知道,请帮助我。

您必须在字符串值中加引号:

$query="INSERT INTO `inquiry` (id,name,contact,email,query) values ('','$name',$phone,'$mail','$msg')";

你需要在你的varcare领域进行大量的引用

$query="INSERT INTO `inquiry` (`id,`name`,`contact`,`email`,`query`) values ('','".$name."','".$phone."','".$mail."','".$msg."')";
停止使用myslq,因为不推荐使用mysqli或pDO

在将数据插入数据库之前使用

mysql\u real\u escape\u string()要防止sql iJet

更改此选项:

$query="INSERT INTO `inquiry` (id,name,contact,email,query) values ('',$name,$phone,$mail,$msg)";
$qur=mysql_query($query);
为此:

$query="INSERT INTO `inquiry` (id,name,contact,email,query) values ('','$name','$phone','$mail','$msg')";
$qur=mysql_query($query);
注意:不要忘记,您的代码易于SQL注入/XSS,请使用
mysql\u real\u escape\u string()。停止
使用不推荐使用的mysql函数并切换到mysqli甚至
更好的PDO


只需将这些变量
$name、$phone、$mail、$msg
封装在引号中即可。在他的示例中,phone是一个数字,而不是字符串,我们也没有关于他数据库结构的信息
$query="INSERT INTO `inquiry` (id,name,contact,email,query) values ('','$name','$phone','$mail','$msg')";
$qur=mysql_query($query);