我試圖讓該插入使用PDOSQLSTATE [42000]:語法錯誤或訪問衝突:1064
<?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的服務器版本使用附近的正確語法手冊「)」在第8行
好心幫
嘗試執行$ sql的var_dump()。它可能會使錯誤更加清晰。 – Erik
另外,你應該真的使用一個準備好的語句,因爲你要這樣對SQL注入敞開大門 – Erik
「善意幫助」,如「我甚至沒有試圖對錯誤信息有任何想法」? – mario