首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PDO::quote

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.1)

PDO :: quote - 引用用于查询的字符串。

描述

代码语言:javascript
复制
public string PDO::quote ( string $string [, int $parameter_type = PDO::PARAM_STR ] )

PDO :: quote()在输入字符串周围放置引号(如果需要的话)并使用适合于底层驱动程序的引用样式在输入字符串中转义特殊字符。

如果您在使用此功能来构建SQL语句,强烈建议使用PDO ::准备()准备与绑定参数,而不是使用SQL语句PDO ::引用()用户输入插成的SQL语句。具有绑定参数的准备语句不仅更便携,更方便,不受SQL注入的影响,但通常比内插查询执行速度快得多,因为服务器端和客户端都可以缓存查询的编译形式。

并非所有PDO驱动程序都实现此方法(特别是PDO_ODBC)。考虑使用预处理语句。

警告

字符集必须在服务器级别或数据库连接本身(取决于驱动程序)内设置,以便影响PDO :: quote()。有关更多信息,请参阅驱动程序特定的文档

参数

string

要引用的字符串。

parameter_type

为具有备用引用样式的驱动程序提供数据类型提示。

返回值

返回理论上可以传入SQL语句的带引号的字符串。如果驱动程序不支持以这种方式引用,则返回FALSE

示例

示例#1引用普通字符串

代码语言:javascript
复制
<?php
$conn?=?new?PDO('sqlite:/home/lynn/music.sql3');

/*?Simple?string?*/
$string?=?'Nice';
print?"Unquoted?string:?$string\n";
print?"Quoted?string:?"?.?$conn->quote($string)?.?"\n";
?>

上面的例子将输出:

代码语言:javascript
复制
Unquoted string: Nice
Quoted string: 'Nice'

示例#2引用危险型字符串

代码语言:javascript
复制
<?php
$conn?=?new?PDO('sqlite:/home/lynn/music.sql3');

/*?Dangerous?string?*/
$string?=?'Naughty?\'?string';
print?"Unquoted?string:?$string\n";
print?"Quoted?string:"?.?$conn->quote($string)?.?"\n";
?>

上面的例子将输出:

代码语言:javascript
复制
Unquoted string: Naughty ' string
Quoted string: 'Naughty '' string'

示例#3引用一个复杂的字符串

代码语言:javascript
复制
<?php
$conn?=?new?PDO('sqlite:/home/lynn/music.sql3');

/*?Complex?string?*/
$string?=?"Co'mpl''ex?\"st'\"ring";
print?"Unquoted?string:?$string\n";
print?"Quoted?string:?"?.?$conn->quote($string)?.?"\n";
?>

上面的例子将输出:

代码语言:javascript
复制
Unquoted string: Co'mpl''ex "st'"ring
Quoted string: 'Co''mpl''''ex "st''"ring'

扩展内容

  • PDO :: prepare() - 准备执行语句并返回一个语句对象
  • PDOStatement :: execute() - 执行准备好的语句

← PDO::query

PDO::rollBack →

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com