夜夜秋雨孤灯
网站统计信息
点击查看统计信息:
广告位
日志 - 日历
2008 11.23 Sun
      1
2345678
9101112131415
16171819202122
23242526272829
30      
«» 2008 - 11 «»
用户公告
小不是成功,大不是成功,由小变大才是成功
搜索BLOG文章
博客基本信息
用户名: lauely
等级: 大学生
在线时间: 3901 分钟
日志总数: 291
评论数量: 130
访问次数: 346452
建立时间: 2006-02-17
最新访问

我的日志
Perl语言中向数据库中写值的特殊字符问题2007-02-15

我在编程中遇到过一些这样的问题,就是其他任何操作都正常,但是,用户在页面上输入的数据却写不到数据库中去。后来,经过仔细的检查,发现用户输入的数据中含有一些特殊字符,例如单引号、双引 号等。  
这时,可以采用DBI的quote方法进行处理。具体的处理过程如下:  
举例说明:  
需要输入数据库的数据列名为city,值为Xian  
use DBI;  
my $dsn="DBI:mysql:$db_name:localhost";  
my $dbh=DBI->connect($dsn,$db_user,$db_pass,{RaiseError=>1});

my $city=$dbh->quote("Xian");  
$dbh->do(qq{insert into citylist values($city)});  
$dbh->disconnect();

这样,数据就可以顺利的写入数据库了。  
其实,quote方法的本质就是使用一种特殊的符号作为数值的分界符,避免和我们常用的特殊字符发生冲突,导致数据库操作失败。  


原创文章如转载,请注明:转载自放飞心情 [ http://lauely.blog.zj.com/ ]
本文链接地址:http://lauely.blog.zj.com/blog/d-101002.html

TAG: cgi perl
相关文章
文章评论0条回复
给文章评分
评分: -5 -3 -1 - +1 +3 +5
我来说两句
认证码* 看不清,就点我! 输入四位字母或数字
(您还没有登录,登录发表)
粗体 斜体 下划线 插入url链接 飞行字 移动字