详解PHP中的PDO::quote(附代码实例)

 3863

PHP在连接数据库时,可能需要为SQL语句中的字符串添加引号,为了解决这一问题,我们可以使用PHP的内置函数quote()函数,本文就带大家来看一看。

首先来看一看quote()函数的语法:

  1. public PDO::quote    ( string $string   , int $parameter_type = PDO::PARAM_STR   ) : string

$string:要添加引号的字符串。

$parameter_type:为驱动提示数据类型,以便选择引号风格。

返回值:返回加引号的字符串,理论上可以安全用于 SQL 语句。 如果驱动不支持这种方式,将返回 false 。

代码实例

1、普通字符串加引号

  1. <?php
  2. $servername = "localhost";
  3. $username = "root";
  4. $password = "root123456";
  5. $dbname   = "my_database";
  6.   
  7. try {
  8.     $pdo = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
  9.     echo "连接成功"."<br>"; 
  10.     // $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  11.     $pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);
  12.  
  13.     $string = 'Nice';
  14.     print "Unquoted string: $string";
  15.     echo "<br>";
  16.     print "Quoted string: " . $pdo->quote($string) . "\n";
  17. }catch(PDOException $e){
  18.     echo $e->getMessage();
  19. }

输出:连接成功

  1. Unquoted string: Nice
  2. Quoted string: 'Nice'


2、危险字符串加引号

  1. <?php
  2. $servername = "localhost";
  3. $username = "root";
  4. $password = "root123456";
  5. $dbname   = "my_database";
  6.   
  7. try {
  8.     $pdo = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
  9.     echo "连接成功"."<br>"; 
  10.     // $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  11.     $pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);
  12.     $string = 'Naughty \' string';
  13.     print "Unquoted string: $string";
  14.     echo "<br>";
  15.     print "Quoted string:" . $pdo->quote($string);
  16. }

输出:连接成功

  1. Unquoted string: Naughty ' string
  2. Quoted string:'Naughty \' string'


TAG标签:
本文网址:https://www.zztuku.com/detail-8827.html
站长图库 - 详解PHP中的PDO::quote(附代码实例)
申明:如有侵犯,请 联系我们 删除。

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐