1

尝试将数据插入数据库时 ​​出现此错误您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法,以便在 'add (price, catID, subCatID, title, description) VALUES ('1500', '1', '1', 'aaa'' at line 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());
            }
4

1 回答 1

0

ADD是一个MySQL 保留关键字,如果它用作表名或列名,则必须用反引号括起来。如果您有机会更改架构,建议不要使用保留字,因为您将来可能会再次遇到这种情况,未来的开发人员也会在您的代码上遇到这种情况。

$insert_data = mysql_query("INSERT INTO `add` (price, catID, subCatID, title, description) VALUES ('$price', '$category', '$sub_category', '$title', '$description')");
//-------------------------------------^^^^^^^

正如您可能已经看到的那样,该mysql_*()扩展在 PHP 5.5 中已被弃用,最终将被删除。与其继续用它编写新代码,不如开始学习 PDO 或 MySQLi 中的预准备语句。

于 2013-07-22T10:59:52.917 回答