PDO::quote() - PDO类
PDO::quote()
(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.1)
为 SQL 查询里的字符串添加引号
说明
publicPDO::quote(string $string[,int $parameter_type= PDO::PARAM_STR]): stringPDO::quote()为输入的字符串添加引号(如果有需要),并对特殊字符进行转义,且引号的风格和底层驱动适配。
如果使用此函数构建 SQL 语句,强烈建议使用PDO::prepare()配合参数构建,而不是用PDO::quote()把用户输入的数据拼接进 SQL 语句。使用 prepare 语句处理参数,不仅仅可移植性更好,而且更方便、免疫 SQL 注入;相对于拼接 SQL 更快,客户端和服务器都能缓存编译后的 SQL 查询。
不是所有的 PDO 驱动都实现了此功能(例如 PDO_ODBC)。考虑使用 prepare 代替。
Caution安全性:默认字符集
字符集不仅仅要在数据库服务器上设置,也要为数据库连接设置(取决于驱动),它影响了PDO::quote()。更多信息可参考PDO 驱动文档。
参数
$string要添加引号的字符串。
$parameter_type为驱动提示数据类型,以便选择引号风格。
返回值
返回加引号的字符串,理论上可以安全用于 SQL 语句。如果驱动不支持这种方式,将返回FALSE
。
范例
普通字符串加引号
以上例程会输出:
Unquoted string: Nice Quoted string: 'Nice'
危险字符串加引号
以上例程会输出:
Unquoted string: Naughty ' string Quoted string: 'Naughty '' string'
复杂字符串加引号
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)