2012-05-04 65 views
1

我是相当新的SQL,我试图插入一行到MySQL数据库时遇到错误。在插入数据库以防止sql注入之前,我是绑定值。SQL插入不断得到错误

我的插入语句:

INSERT INTO member (FirstName, LastName, Date of Birth, Street Address, 
        City, State, Zip, Email, Phone, Active) 
VALUES (:FirstName, :LastName, :DateOfBirth, :streetAddress, :City, :State, 
        :Zip, :Email, :Phone, :Active) 

是在insert语句所需要的主键?我确实已将它设置为在数据库中自动递增。

我不断收到的错误是:

1064 - 你在你的SQL语法错误;检查与您的MySQL服务器版本相对应的手册,以在'''FirstName','LastName','出生日期','街道地址','城市','州','Z'附近使用正确的语法1号线

我已经试过工作围绕语句本身的语法和我相当肯定是语法正确的,虽然我的SQL知识是非常非常有限的。谢谢你的时间。

Tama198

+0

在oracle中当列名中有空格时,我们应该在双引号中包含这样的内容。但我不知道我的sql – Maddy

+0

我不知道列名中的空格谢谢。不幸的是,我试着在名称周围引用一次,第二次删除列名称中的空格。两者都不成功。 – Tama198

+0

请分享表格结构吗? –

回答

2

INSERT INTO member (FirstName, LastName, `Date of Birth`, `Street Address`, 
        City, State, Zip, Email, Phone, Active) 
VALUES (:FirstName, :LastName, :DateOfBirth, :streetAddress, :City, :State, 
        :Zip, :Email, :Phone, :Active) 

尝试请检查您的表列姓名“出生日期”和“街道地址”。列名允许空间!我对此表示怀疑。

+0

谢谢sarwar026,但我删除了数据库中列名称的空格,并更改了我的插入语句,但没有更改错误。为了插入新行,需要更改phpmyadmin中的设置吗? – Tama198

+0

你的“主键”是什么?它是一个自动递增的字段吗? – sarwar026

+0

我的主键是列ID。尽管我不得不将其更改为自动增量,并且工作正常。我以为我有自动增量设置为ID,显然它不是。仍在努力学习数据库世界。谢谢sarwar026和madhu的帮助。非常感谢! – Tama198