免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2237 | 回复: 2
打印 上一主题 下一主题

[求助]DBI编程中遇到含引号的sql语句 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-05 17:08 |只看该作者 |倒序浏览
从web传递变量,用DBI模块update mysql表纪录,可是发现sql语句中含有大量的单引号和双引号!

看了下手册,说是用quote方法,可是我用后还是报错。哪位能指点下????

记得PHP中有个Addslash函数,能够自动转义~~~很好用的。

my $update_sql = "";
my $dbh = "";
    
$dbh = AdminUtils::ConnectToDatabase();
    
my $test_msg = $dbh->quote(param("script_msg"));
$update_sql = "update $mysql_table_name script_name = $test_msg where file_name = \"".param("file_name")."\"";



报错如下!

update data_test script_name = '\r\n \r\n name[\"english\"] = \"12Planet Chat Server Path Disclosure\";\r\n script_name(english:name[\"english\"]);\r\n ' where file_name = "12planet_chat_server_path_disclosure.nasl": 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 '= '\r\n \r\n name[\"english\"] = \"12Planet Chat Server Path Disclosure\";\r\n s' at line 1 at modules/AdminUtils.pm line 552.

[ 本帖最后由 nanjinperl 于 2008-5-5 17:11 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-05-05 17:13 |只看该作者
这个sql语句就不对啊

论坛徽章:
0
3 [报告]
发表于 2008-05-05 17:35 |只看该作者
晕~~~~ 怎的少了个set!调了下,正确了~~~

大侠们~!是不是DBI解决这个问题的方法就是quote方法啊?

其他模块呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP