Rumah  >  Artikel  >  pembangunan bahagian belakang  >  解析PHP中的PDO::prepare(附代码实例)

解析PHP中的PDO::prepare(附代码实例)

autoload
autoloadasal
2021-04-21 12:36:292956semak imbas

   2021042012000332828.jpg

     PDO是目前连接数据库较为频繁的使用方法,为了提高运行效率,使用预处理语句——prepare()方法,是较为有效的一条路径,本文就带大家一起来看一看。

首先需要了解一下PDO::prepare的语法

public PDO::prepare ( string $statement , array $driver_options = array())
  • string $statement:必须是对目标数据库服务器有效的 SQL 语句模板。

  • $driver_options:数组包含一个或多个 key=>value 键值对,为返回的 PDOStatement 对象设置属性。     

  • 返回值:如果数据库服务器完成准备了语句,则 返回 PDOStatement 对象。如果数据库服务器无法准备语句,则返回 false 或抛出 PDOException (取决于 错误处理器)。

 1.用命名参数形式准备 SQL 语句参数

<?php
/* 传入数组的值,并执行准备好的语句 */
$sql = &#39;SELECT id, height, heights
    FROM people
    WHERE heights < :heights AND height = :height&#39;;
    
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(&#39;:heights&#39; => 150, &#39;:height&#39; => &#39;tall&#39;));
$tall = $sth->fetchAll();
$sth->execute(array(&#39;:heights&#39; => 175, &#39;:height&#39; => &#39;small&#39;));
$small = $sth->fetchAll();
?>

2 用问号形式准备 SQL 语句参数

<?php
/* 传入数组的值,并执行准备好的语句 */
$sth = $dbh->prepare(&#39;SELECT id, height, heights
    FROM people
    WHERE heights < ? AND height = ?&#39;);
  
$sth->execute(array(150, &#39;tall&#39;));
$tall = $sth->fetchAll();
$sth->execute(array(175, &#39;small&#39;));
$small = $sth->fetchAll();
?>

推荐:2021年PHP面试题大汇总(收藏)》《php视频教程

Atas ialah kandungan terperinci 解析PHP中的PDO::prepare(附代码实例). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn