SQL PhP插入查询问题

时间:2011-09-21 15:23:09

标签: php mysql sql

我在本地电脑上有一个html表单,它有一个表单,将POST的值提交到我服务器上的php文件。

php文件应该将表单值输入数据库,但我不断收到以下错误:

您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以便在第1行'desc,lat,lng)VALUES('test','51 .489755',' - 3.177407')附近使用正确的语法

html表格:

  <form action="http://www.myurl.co.uk/folder/Add.php" method="POST">
    <input type="text" name="desc" id="desc" />
    <input type="text" name="lat" id="lat" />
    <input type="text" name="lng" id="lng" />

    <input type="submit" value="submit" name="submit" />
        </form>

PHP:

if($_POST)
{
$desc = mysql_real_escape_string(trim($_POST['desc']));
$lat = $_POST['lat'];
$lng = $_POST['lng'];


$posting = mysql_query("INSERT INTO tableName (desc, lat, lng) VALUES ('$desc', '$lat', '$lng')") or die(mysql_error());

我很确定insert语句是正确的,因为我已经这么多次,但由于某种原因不会这样做。

我知道正在发送表单ar的值,就像你看到我得到的错误一样,表单值在查询的VALUES部分中。

非常感谢任何反馈

4 个答案:

答案 0 :(得分:1)

desc是保留字。你必须逃脱它:

$posting = mysql_query("INSERT INTO tableName (`desc`, `lat`, `lng`) VALUES ('$desc', '$lat', '$lng')") or die(mysql_error());

答案 1 :(得分:0)

desc是保留字。试试这个:

$posting = mysql_query("INSERT INTO `tableName` (`desc`, `lat`, `lng`) VALUES ('$desc', '$lat', '$lng')") or die(mysql_error());

答案 2 :(得分:0)

desc是mysql中的保留关键字。在您的查询中,替换

desc

通过

`desc`

答案 3 :(得分:0)

descDESC是SQL中的保留关键字,用于表示结果的顺序。

ASC =升序 DESC =降序。

将SQL更改为

INSERT INTO tableName (`desc`, lat, lng) VALUES ('$desc', '$lat', '$lng')