我已经向 mysql 数据库发送了很多查询,所以当它停止工作时它让我陷入了循环。我只是想插入文本、整数和小数信息。某处语法错误吗?它抛出此错误消息,但我不知道这是什么意思!
错误信息:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'long) VALUES (jpeg.jpg,1410700,image/jpeg,1372713379,42.978852222222,-86.0356041' at line 1
name, type, datetime 表列是varchar
大小为整数
lat和long是小数(14,12)和(15,12)
我尝试了多种不同的查询变体,试图将其发送到我的本地主机 wampserver。如果您看到我遗漏的内容,请告诉我。谢谢!
$conn = mysqli_connect("localhost", "root", "password", "databaseimage") or die('Error Connecting.');
$sql = "INSERT INTO `images` (name,size,type,datetime,lat,long) VALUES ($imageName,$imageSize,$imageType,$datetime,$lat,$long)";
if(mysqli_query($conn, $sql)) {
echo "Added to database successfully!";
} else {
echo "Error sending query!";
printf("\nErrormessage: %s\n", mysqli_error($conn));
}
我试过带和不带``标记。 我已经尝试在每个变量周围加上单引号。 我试过只发送原始数据,但仍然出错。
最佳答案
LONG 是 mySQL 保留字: http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html
修复它的一种方法是将这些词用反引号括起来:
INSERT INTO `images` (name,size,type,datetime,lat,`long`) VALUES ('$imagename'....
但是,如果可以的话,最好避免使用保留字作为列名或表名 - 正如您所发现的那样,这会导致像这样的奇怪情况。
关于PHP/MySQL : error sending query to mysql database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17437415/