我在本地电脑上有一个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部分中。
非常感谢任何反馈
答案 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)
desc
或DESC
是SQL中的保留关键字,用于表示结果的顺序。
ASC =升序 DESC =降序。
将SQL更改为
INSERT INTO tableName (`desc`, lat, lng) VALUES ('$desc', '$lat', '$lng')