SQL语法错误。可以看看有多难

时间:2014-03-28 18:08:32

标签: php mysql sql syntax-error

我正在制作带有购物车的产品管理系统。在产品管理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);
}

2 个答案:

答案 0 :(得分:1)

desc是保留的关键字

所以你需要反击作为

`desc`

$sql = "INSERT INTO 
products (date, name, `desc`, price) 
VALUES ('{$date}', '{$name}', '{$desc}', '{$price}'
)";

答案 1 :(得分:1)

DESCreserved keyword。如果您要使用它,您必须将它包装在刻度线中:

$sql = "INSERT INTO products (date, name, `desc`, price) VALUES ('{$date}', '{$name}', '{$desc}', '{$price}')";

防止未来出现问题的更好方法是将列重命名为description,这也更清楚其值是什么。