SQLSTATE [42000]:语法错误或访问冲突:1064

时间:2017-09-09 20:21:18

标签: php mysql pdo

我正在尝试制作一个使用PDO在数据库中插入值的表单

<?php
if(isset($_POST["submit"])){
$hostname='localhost';
$username='kod';
$password='';

try {
    $dbh = new PDO("mysql:host=$hostname;dbname=kod",$username,$password);

    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 


$sql = "INSERT INTO `user` (`OwnerName`, `PhoneNumber`, `EmailId`, `AdharNumber`, `Address`, `OutletName`, `OutletAddress`)
VALUES (`".$_POST[`OwnerName`]."`,
        `".$_POST[`PhoneNumber`]."`,
        `".$_POST[`EmailId`]."`
        `".$_POST[`AdharNumber`]."`,
        `".$_POST[`Address`]."`,
        `".$_POST[`OutletName`]."`,
        `".$_POST[`OutletAddress`]."`,)";


if ($dbh->query($sql)) {
    header("Location: AdminProfile.php ");
     //echo "<script type= 'text/javascript'>alert('New Record Inserted Successfully');</script>";
} 
else{
     echo "<script type= 'text/javascript'>alert('Data not successfully Inserted.');</script>";
}

    $dbh = null;
    }
catch(PDOException $e)
    {
    echo $e->getMessage();
    }

}
?>

现在我收到此错误

  

SQLSTATE [42000]:语法错误或访问冲突:1064您有   SQL语法错误;查看与您的手册相对应的手册   MariaDB服务器版本,使用“&#39;)附近正确的语法”#39;在第8行

请帮助

1 个答案:

答案 0 :(得分:2)

删除,行之后的$_POST['OutletAddress']

 `".$_POST[`OutletAddress`]."`)";

提示:使用预准备语句来构建SQL查询。它更高效,更安全。可读的。