解决INSERT INTO的SQL错误

时间:2011-03-02 16:06:14

标签: php sql

有人可以查看这个echo&SQL查询并告诉我可能会导致错误的原因吗?

以下是我收到的错误;

Database query died: 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 ') VALUES ('test', 'testcompany', 'test', 'test',
 'test', 'test', '123', '123', '' at line 1

接下来是我回复测试的SQL查询。

INSERT INTO associate_users (
    contactName, company, address1, address2, address3, postcode, 
    telephone, fax, email, type, products, primaryMarket, secondaryMarket,
    selling, employees, years, website, credit, deals, userLevel, 
    regDate, live, 
) VALUES (
    'test', 'testcompany', 'test', 'test', 'test', 'test',
    '123', '123', 'tester@aol.com', 'Sole Trader', 'Desktops',
    'Consumer', 'Consumer', 'Telesales', '11', '11', 
    'http://www.foo-bar.co.uk', '0', '0', '1', '2011-03-02-15:57', '0',
)

我真的无法理解问题是什么,

如果我未能在此原始帖子中发布重要代码或报告信息,请提前预测,如果缺少任何解决方案,请不要犹豫。

提前致谢,

丹·里格利。

5 个答案:

答案 0 :(得分:4)

您的字段列表中有一个额外的逗号:

... userLevel, regDate, live, ) VALUES ('test', 'testcom ...
                            ^--- here

并在值列表中:

... '0', )
       ^-- here

看起来某些键/值对未正确插入,或者您正在动态生成字段列表而忘记删除最终的逗号。

答案 1 :(得分:2)

看起来你在声明的末尾有额外的逗号。

                V                            V    
...regDate, live, )...'2011-03-02-15:57', '0', )
                ^                            ^

应该是

...regDate, live)...'2011-03-02-15:57', '0')

答案 2 :(得分:2)

删除live, )后面的逗号 - >它应该是live)

'0', ) - >相同应为'0')

答案 3 :(得分:2)

在字段列表的末尾有一个尾随逗号。

..., regDate, live, ) VALUES ('test', ...
                  ^--- Remove this comma

您的VALUES后面还有一个逗号逗号。

VALUES(..., '2011-03-02-15:57', '0', )
                                   ^---- Remove this comma too

答案 4 :(得分:2)

尝试删除最后一个逗号(将'2011-03-02-15:57', '0', )替换为'2011-03-02-15:57', '0')