2010-12-12 93 views
0

这是我收到的错误1064 - 您的SQL语法错误;在第1行检查与您的MySQL服务器版本对应的手册,以便在':i:sa'附近使用正确的语法'',rec_type ='',rec_request ='1',rec_by ='Victoria',batch_id = UC'SQL插入错误SQL语法... date()

另外我知道我需要在插入之前转义。我现在只是在测试。

$importwav="INSERT into names SET 
com_id = '".$word_id."', 
rec_date = date(d-M-y), 
rec_time = date(h:i:s a), 
rec_type = '".$rec_type."', 
rec_request = '1', 
rec_by = '".$data[8]."', 
batch_id = UCASE('".$batchid."') 
"; 


    INSERT into names SET com_id = '87', rec_date = date(d-M-y), 
rec_time = date(h:i:s a), rec_type = '', rec_request = '1', 
rec_by = 'Victoria', batch_id = UCASE('Batch004AM') 
+0

** REC DATE可能是Y-M-d格式** – 2010-12-12 14:39:17

+0

使单''datetime'类型的rec_date'字段和一次与'rec_date = localtime'分配日期和时间的。 – 2010-12-12 14:42:51

+1

不要傻瓜,使用适当的日期格式 – 2010-12-12 14:50:54

回答

3

你正在混淆你的PHP函数和你的MySQL函数。

$importwav="INSERT into names SET 
com_id = '".$word_id."', 
rec_date = '" . date('d-M-y') . "', 
rec_time = '" . date('h:i:s a') . "', 
... 

而你的SQL语法是FUBAR。

+0

嗯...... Inacio说你的SQL语法是FUBAR并得到3票。我说你的SQL语法是不正确的,并得到否定的投票。哦,好吧.. – 2010-12-12 14:59:16

+0

@布赖恩他说错了,答案的其余部分是好的(除了跛脚数据格式)。虽然你的回答实际上没有任何帮助,而且正如评论中提到的那样,从字面上使用,并不能解决问题。因为他的印记是不同的。只需在主题上写下你的答案即可获得积极评价。这很容易。 – 2010-12-12 16:27:33

-1

date()参数需要是一个字符串。尝试用单引号围绕日期格式字符串(')。

0

错误的SQL语法。

INSERT INTO table (col1, col2) VALUES (val1, val2) 
+0

我用这样做,但插入很多字段条目时,它会让人困惑。 – acctman 2010-12-12 14:49:13