使用DBD-Oracle操作数据库时抱错,请高人指

使用DBD-Oracle操作数据库时抱错,请高人指

使用DBD-Oracle操作数据库时抱错,请高人指
1 错误为
DBD::Oracle::db prepare failed: ORA-01756: quoted string not properly terminated (DBD ERROR: OCIStmtPrepare) [for Statement "insert into HUMFNALINE(ID,LINE) values('NM_016489','>gi|40556362|ref|NM_016489.10| Homo sapiens 5'-nucleotidase, cytosolic III (NT5C3), mRNA
')"] at fnaline.pl line 19, <FILE> line 29176.
Can't call method "execute" on an undefined value at fnaline.pl line 20, <FILE> line 29176.

请哪位高人帮忙看看,我不明白这个错误是什么意思,怎么解决,谢谢!!
因为你的语句里面有没有黑.
因为你的语句里面有没有把一些特殊的字符转义,导致你的语法出错。
解决方法:
使用占位符:insert into HUMFNALINE(ID,LINE) values(?,?);
然后用$sth->exec($ID,$LINE);
应该就可以了。看一下dbi的说明就清楚了,或者用bind,总之,不要在insert里直接把值写进去就行了。直接写的话要写$dbh->quote()一下你要插入值,不过对某些值,可能会失效 。所以安全的方法就是最开始介绍的那种。




   

十分感谢,我看看行不行!.
十分感谢,我看看行不行!谢谢了
十分感谢楼上的这位兄弟,.
十分感谢楼上的这位兄弟,问题解决了!