PHP/MySQL : error sending query to mysql database

标签 php mysql insert

我已经向 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/

相关文章:

php - 只更新部分页面

mysql - 使用sequelize 连接到aws rds 时连接被拒绝

android - 如何将 SQLite 创建的数据上传到 MySQL 服务器?

MySQL 复制最佳实践

java - JTable 插入列而不是行

php - 在 Yii 中返回 CActiveDataProvider

php - GET 变量未被访问

php - 我的 SQL 查询 - 在特定条件下从其他两个表中插入表中的新记录并避免重复条目

php - 保持 WordPress(本地和远程)同步

python - python 将一列的括号中的字符串插入到另一列的字符串的开头