有用过DBD::ADO的?

0 views
Skip to first unread message

Beckheng Lam

unread,
Jan 17, 2010, 6:55:47 AM1/17/10
to perl...@googlegroups.com
是不是直接用$dbh->quote('xxx', DBI::SQL_WVARCHAR)的时候,不会对内容的'
(单引号)进行转义?

--
Perl乐事 -- http://www.perlersh.org
我的博客 -- http://www.perlersh.org/blog.html
揭谛揭谛,波罗揭谛,波罗僧揭谛,菩提萨婆诃。

Haiyan Lin

unread,
Jan 17, 2010, 7:10:01 PM1/17/10
to perl...@googlegroups.com
perl 里面不是只对 " " 里面的转义,不对 ' ' 里面的 转义的吗?


--------------------------------------------------------------------------------


> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
>
> 要向此网上论坛发帖,请发送电子邮件至 perl...@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至
> perlchina+...@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>
>
>

Beckheng Lam

unread,
Jan 17, 2010, 9:03:49 PM1/17/10
to perl...@googlegroups.com
我这个是指变为SQL语句时的转义,常见的是'可能转为\'或者''这样呢。

今天用下面的脚本测试了一下,才大概知道问题出在哪里了。

#!/usr/bin/perl

use DBD::ADO;
use strict;

my $uid = 'sa';
my $pwd = 'pwd';
my $dsn = 'xxx';

my $dbh = DBI->connect('dbi:ADO:DSN=' . $dsn, $uid, $pwd) or die "dbi: " . $DBI::errstr;

print $dbh->quote("a'bc"), "\n";    #       ---------------> 'a''bc'
print $dbh->quote("a'bc", DBI::SQL_WVARCHAR), "\n"; # -----> N'a'bc'

$dbh->disconnect;
Reply all
Reply to author
Forward
0 new messages