使用php插入十进制、时间戳时出现mysql语法错误

使用php插入十进制、时间戳时出现mysql语法错误,php,mysql,mysql-error-1064,Php,Mysql,Mysql Error 1064,我得到了一个错误: 您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在第1行的“10”、“16:39:02”、“292.35”)附近 这是在php中运行的im查询: mysql_query("INSERT INTO `copper` (`month`, `time`, `price`) VALUES ('$month', '$time', '$price')") or di

我得到了一个错误:

您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在第1行的“10”、“16:39:02”、“292.35”)附近

这是在php中运行的im查询:

mysql_query("INSERT INTO `copper` 
              (`month`, `time`, `price`) 
             VALUES 
              ('$month', '$time', '$price')") or die(mysql_error());
下面是一个文字示例:

INSERT INTO `table` 
  (`month`, `time`, `price`) 
VALUES 
  ('10', '16:39:02', '292.35')
这是我的桌子设置


回显您的实际查询,以便查看生成的内容

$query = "INSERT INTO `copper` (`month`, `time`, `price`) VALUES ('$month', '$time', '$price')";   
mysql_query($query) or die(mysql_error() . '<br />Query: ' . $query);
$query=“插入'cuper'('month','time','price')值('$month','$time','$price')”;
mysql_query($query)或die(mysql_error()。
query:'。$query);
这应该在您发布时起作用,所以这里有一些猜测:

您确定
$month
不包含
'

你确定这是正确的引语吗?i、 不是这些天从文字处理器里冒出来的异国情调吗?(您是否从web/pdf/doc复制并粘贴了此内容?)


否则,丢失查询中的换行符并不重要,但您永远不会知道。

OP没有-重新阅读question@OMGOP没有仔细阅读问题(
!=
)@MDV:人们不允许输入与SQL完全匹配的错误?@OMG我只是99%确定我们没有看到像OP执行了
$query=“…”;mysql\u查询($query);echo$query请求的内容。这看起来像是一个典型的案例,OP没有透露我们找到bug所需要的一切——所以如果我们问他,为什么你会建议我们不应该这样做?(看看C++中的白痴C++ <代码> IFNDEF < /Cord>问题……)MVDS:如果你这么相信,为什么你(或者其他任何人)都没有投票赞成这个答案?我更喜欢给OP一个质疑的机会,然后发表这样的评论。。。等等。。。我不能在MySQL 4.1上重现这个错误,但奇怪的是,你定义了一个精度为零的十进制列——也可以是INT,因为你不会得到任何小数点。但这会不会产生语法错误?@mvds:“不能重现”==没有语法错误。MySQL在字符串和数字之间进行隐式数据类型转换values@OMG这就是我要说的,我不明白在这个上下文中“precision”、“INT”等的意义是什么,因为我们看到了一个语法错误。