尝试将数据插入数据库时出现此错误 您的SQL语法中有错误;查看与您的MySQL服务器版本对应的手册,以便在'add(price,catID,subCatID,title,description)附近使用正确的语法VALUES('1500','1','1','aaa''在线1
这是我的代码。你能帮我解决这个问题。
require "dbConnect.php";
dbConnect();
$category = mysql_real_escape_string($_POST['catID']);
$sub_category = mysql_real_escape_string($_POST['subCatID']);
$title = mysql_real_escape_string($_POST['title']);
$description = mysql_real_escape_string($_POST['description']);
$price = mysql_real_escape_string($_POST['price']);
我在此处已包含相关代码
$insert_data = mysql_query("INSERT INTO add (price, catID, subCatID, title, description) VALUES ('$price', '$category', '$sub_category', '$title', '$description')");
if($insert_data === FALSE)
{
die(mysql_error());
}
答案 0 :(得分:0)
ADD
是MySQL reserved keyword,如果将其用作表名或列名,则必须使用反引号引用。如果您有机会更改架构,建议不使用保留字,因为您将来可能会再次遇到此问题,未来的开发人员也将会遇到此问题。
$insert_data = mysql_query("INSERT INTO `add` (price, catID, subCatID, title, description) VALUES ('$price', '$category', '$sub_category', '$title', '$description')");
//-------------------------------------^^^^^^^
正如您可能已经看到的那样,mysql_*()
扩展名has been deprecated in PHP 5.5,最终会被移除。不要继续用它编写新代码,建议在PDO或MySQLi中开始学习预处理语句。