如何在PHP中修复此MySql语法错误?

时间:2013-12-07 22:52:40

标签: php mysql sql database netbeans

我正在制作数据安装表单并尝试在db中保存这些数据。
我在下面给出了这个错误。
错误您的SQL语法中有错误;检查与MySQL服务器版本对应的手册,以便在'desc,total)附近使用正确的语法VALUES('MM20','520.00','S.Hashan','522.00','hgASKCHkbzmbk''在第1行< /强>
其实我发了六条记录。 'MM20','520.00','S.Hashan','522.00','hgASKCHkbzmbk','5200.00' 但只有五个发送错误显示。以下是我的源代码。请帮我。

<?php

$con = mysql_connect("localhost", "root", "");

if ($con) {
$db = mysql_select_db('mobile', $con);
} else {
 die('Could not connect: ' . mysql_error());
  }

 if (array_key_exists('save_data', $_POST)) {

 $model_no = mysql_real_escape_string($_POST['model_no']);
 $service_fee = mysql_real_escape_string($_POST['service_fee']);
 $sp_name = mysql_real_escape_string($_POST['sp_name']);
 $sp_price = mysql_real_escape_string($_POST['sp_price']);
 $desc = mysql_real_escape_string($_POST['desc']);
 $total = mysql_real_escape_string($_POST['total']);

 $query ="INSERT INTO mobile_rep (model_no, service_fee, sp_name, sp_price, desc,      total)
 VALUES ('{$model_no}', '{$service_fee}' , '{$sp_name}' ,'{$sp_price}' , '{$desc}' ,    '{$total}')";

$result = mysql_query($query);
if ($result) {
    echo "1 record added";
} else {
    echo "error";
    echo '<br/>'.  mysql_error();
}    
  }
      mysql_close($con);

&GT;

2 个答案:

答案 0 :(得分:1)

修改您的查询:

$query ="INSERT INTO mobile_rep (`model_no`, `service_fee`, `sp_name`, `sp_price`, `desc`,      `total`) VALUES ('{$model_no}', '{$service_fee}' , '{$sp_name}' ,'{$sp_price}' , '{$desc}' ,    '{$total}')";

DESC是MySQL中的保留字。如果您引用它们,则允许使用保留字作为标识符。

答案 1 :(得分:0)

基本上,这是代表@今草顿웃所以可以关闭这个问题。

desc是一个保留关键字,因此您需要将其转义。例如。 ..,sp_name,sp_price,desc,...