我正在制作带有购物车的产品管理系统。在产品管理php我在数据库中显示/添加/删除/编辑产品。当我尝试添加产品时,收到此错误消息:
发生错误:您的SQL语法出错;检查与您的MySQL服务器版本相对应的手册,以便使用接近' desc,price)VALUES(' 28/03 / 2014',' prod1',& #39; desc1',' 5.99')'在第1行
我的代码:
if(isset($_POST["add_prod"]))
{
$date = date("d/m/Y");
extract($_POST);
$link = mysqli_connect("localhost", "root", "*******", "souljaz");
$sql = "INSERT INTO products (date, name, desc, price) VALUES ('{$date}', '{$name}', '{$desc}', '{$price}')";
if(mysqli_query($link, $sql)) print "Product added.";
else print "Error occured: ".mysqli_error($link);
}
答案 0 :(得分:1)
desc
是保留的关键字
所以你需要反击作为
`desc`
$sql = "INSERT INTO
products (date, name, `desc`, price)
VALUES ('{$date}', '{$name}', '{$desc}', '{$price}'
)";
答案 1 :(得分:1)
DESC
是reserved keyword。如果您要使用它,您必须将它包装在刻度线中:
$sql = "INSERT INTO products (date, name, `desc`, price) VALUES ('{$date}', '{$name}', '{$desc}', '{$price}')";
防止未来出现问题的更好方法是将列重命名为description
,这也更清楚其值是什么。