Mysql入门系列:Perl DBI基础(2)
2006-12-31 10:49:46 来源:WEB开发网核心提示: qq{} 结构能跨行,如果想让查询字符串在Perl 代码中醒目,Mysql入门系列:Perl DBI基础(2)(7),这很有用:如果希望将查询格式分为多个行,从而使它的可读性更强,对想按字面使用的每个引用值,都调用quote( ) 方法,这样也很有用,例如
qq{} 结构能跨行,如果想让查询字符串在Perl 代码中醒目,这很有用:
如果希望将查询格式分为多个行,从而使它的可读性更强,这样也很有用。例如,dump_members 脚本中的SELECT 语句如下:
用q q { }编写如下:
双引号字符串也可以跨行。但是,对于编写多行的字符串,我更喜欢用q q { }。我发现当在一行中看到不匹配的引号时,我就自然地去想,“这会是语法错误吗?”,然后,我就会浪费时间去寻找相匹配的引号。
qq{} 结构在Perl 词汇级注意了引用的问题,因此可将引号容易地放到字符串内,而不会使Perl 搞混它们。然而,还必须考虑SQL 级的语法。考虑向member 表中插入一条记录:
do( ) 发送给MySQL的字符串如下所示:
这是不合法的SQL 语句,因为在单引号字符串内出现了单引号。在第6章中,我们遇到过类似的引用问题。在那里,我们使用mysql_escape_string( ) 来处理这个问题。DBI 提供了一个类似的机制—在一条语句中,对想按字面使用的每个引用值,都调用quote( ) 方法,并使用它的返回值。
更多精彩
赞助商链接