在Perl中有相当于PHP的addslashes吗?

时间:2012-01-17 02:28:32

标签: perl

PHP addslashes:

  

string addslashes(string $ str)

     

在需要引用的字符之前返回带有反斜杠的字符串   这些字符是单引号('),双引号(“),   反斜杠()和NUL(NULL字节)。

     

使用addslashes()的一个示例是将数据输入数据库。   例如,要将名称O'reilly插入数据库,您需要   逃避它。强烈建议使用DBMS特定的转义函数(例如   MySQL的mysqli_real_escape_string()或PostgreSQL的pg_escape_string()),   但是如果您使用的DBMS没有转义函数和DBMS   使用\来转义特殊字符,可以使用此功能。这只会是   要将数据导入数据库,将不会插入额外的\。有   PHP指令magic_quotes_sybase设置为on将意味着'而是转义   与另一个'。

在Perl中是否等同于PHP的addslashes?

1 个答案:

答案 0 :(得分:18)

  

在Perl中是否等同于PHP的addslashes?

呀。但你不想这样做。

如果您正在执行数据库查询,处理动态参数的唯一正确方法是使用DBI placeholders。这些将导致您的参数与查询分开发送(如果您的数据库不支持参数化查询,则在查询中正确序列化。)