在条件表达式中运行查询数据类型不匹配时出现Sql错误

时间:2009-03-10 17:04:19

标签: php sql

运行下面给出的SQL查询时出现以下错误

  

'警告:odbc_exec()   [function.odbc-exec]:SQL错误:   [Microsoft] [ODBC Microsoft Access   驱动程序]标准中的数据类型不匹配   表达式。,SQL状态22005?T in   SQLExecDirect in   d:\ XAMPP \ htdocs中\ fypphp \的functions.php   在第543行

INSERT INTO vehicle_log
(modem_ID, longitude, latitude, sattelite_strength, [timestamp], speed, Heading, Altitude, ReportID, Input, Output)
values
('$modem_id', '$longitude', '$latitude', '$satelite_str', '$timestamp', '$speed', '$heading', '$altitude', '$report_id', '$input', '$output')

4 个答案:

答案 0 :(得分:1)

您可能需要转换其中一个变量。你的专栏类型是什么?还可以尝试输入一些样本/测试数据来缩小问题范围。

答案 1 :(得分:0)

是否有任何数字字段,例如ReportID?然后你应该删除值周围的撇号。

编辑:
以纬度,经度和卫星强度为数字,您应该:

INSERT INTO vehicle_log
(modem_ID, longitude, latitude, sattelite_strength, [timestamp], speed, Heading, Altitude, ReportID, Input, Output)
values
('$modem_id', $longitude, $latitude, $satelite_str, '$timestamp', '$speed', '$heading', '$altitude', '$report_id', '$input', '$output')

如果时间戳是日期,您应该:

INSERT INTO vehicle_log
(modem_ID, longitude, latitude, sattelite_strength, [timestamp], speed, Heading, Altitude, ReportID, Input, Output)
values
('$modem_id', $longitude, $latitude, $satelite_str, #$timestamp#, '$speed', '$heading', '$altitude', '$report_id', '$input', '$output')

答案 2 :(得分:0)

变量的数据类型和表中字段的数据类型是什么?

顺便说一下,如果这是一个新的开发,我会在其中用“sattelite”一词修复该列,因为拼写错误。多年来,这会让你发疯。

答案 3 :(得分:0)

您正在尝试添加$modem_id并且可能会自动增加?保留$mode_id,它会自动添加; ly。