linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘网络学院网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > 开发语言 > perl >
栏目导栏
  php
  JSP
  ASP
  asp.net
  JAVA
  c/c++/c#
  perl
  JavaScript
  Basic
  Delphi
资料搜索
热门文章
·perl入门学习指南
·perl入门教程:Perl 的变量
·perl入门教程:Perl的语法与C语
·Perl文件及目录操作
·perl入门教程:Perl概述
·perl入门教程:正则表达式
·perl 学习笔记
·Perl常用系统函数
·perl中传递和存储文件句柄
·Perl连接Oracle数据库的方法
·curl+perl的自动MAIL报警程序
·使用 perldoc 找文档
·perl入门教程:Perl 程序的属性
·Perl新手的误区和新手必读
·Perl命令行应用介绍
最新文章
·perl 学习笔记
·Perl 特殊变量
·perl Base64码的获取
·perl 父子进程的数据库连接继承
·工作中的实用 perl 脚本
·perl中传递和存储文件句柄
·curl+perl的自动MAIL报警程序
·Perl类包的动态调用
·使用open创建的管道进行父子进
·perl 执行一个系统命令(svn in
·windows平台下根据可执行文件名
·关联数组(hash)
·Perl语言在风险评估的系统基础
·在Perl/CGI中使用模板
·PERL CGI 常见问题
Google
 
Perl语言中向数据库中写值的特殊字符问题
[ 作者:  加入时间:2007-10-11 17:27:11  来自:Linux联盟收集整理 ]

我在编程中遇到过一些这样的问题,就是其他任何操作都正常,但是,用户在页面上输入的数据却写不到数据库中去。后来,经过仔细的检查,发现用户输入的数据中含有一些特殊字符,例如单引号、双引 号等。 vh5Linux联盟
这时,可以采用DBI的quote方法进行处理。具体的处理过程如下:

举例说明: vh5Linux联盟
需要输入数据库的数据列名为city,值为Xi'an vh5Linux联盟
use DBI; vh5Linux联盟
my $dsn="DBI:mysql:$db_name:localhost"; vh5Linux联盟
my $dbh=DBI->connect($dsn,$db_user,$db_pass,{RaiseError=>1});

my $city=$dbh->quote("Xi'an"); vh5Linux联盟
$dbh->do(qq{insert into citylist values($city)}); vh5Linux联盟
$dbh->disconnect();

这样,数据就可以顺利的写入数据库了。

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

Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·动态创建、压缩Access数据库(*.MDB)  (2007-10-30 16:08:12)
 ·JavaScript 去除TextBOx中的特殊字符  (2007-10-29 12:17:03)
 ·Perl语言在风险评估的系统基础信息采集工作中的应用  (2007-10-29 11:21:11)
 ·执行drop表操作后数据库无法启动故障  (2007-10-29 11:15:35)
 ·如何防止插入删除表造成的数据库死锁  (2007-10-26 13:06:01)
 ·用VB查询数据库记录四法  (2007-10-25 13:41:31)
 ·JAVA数据库基本操作指南  (2007-10-25 13:39:43)
 ·Java连接各种数据库的实例  (2007-10-25 13:20:24)
 ·WebLogic运用DB的Java控件访问数据库  (2007-10-25 13:17:36)
 ·Java数据库接口JDBC驱动设置  (2007-10-25 12:23:34)