广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php prepare的用法是什么
  • 1036
分享到

php prepare的用法是什么

phpprepare 2019-11-22 22:11:45 1036人浏览 才女
摘要

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php prepare的用法是什么?PDO::prepare(php 5 >= 5.1.0, PHP 7, PHP 8, PHP 8,PECL pdo >=

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

php prepare的用法是什么?

PDO::prepare

(php 5 >= 5.1.0, PHP 7, PHP 8, PHP 8,PECL pdo >= 0.1.0)

PDO::prepare — 准备要执行的语句,并返回语句对象

说明

public PDO::prepare(string $statement, array $driver_options = array()): PDOStatement

为 PDOStatement::execute() 方法准备待执行的 sql 语句。 语句模板可以包含零个或多个参数占位标记,格式是命名(:name)或问号(?)的形式,当它执行时将用真实数据取代。 在同一个语句模板里,命名形式和问号形式不能同时使用;只能选择其中一种参数形式。 请用参数形式绑定用户输入的数据,不要直接字符串拼接到查询里。

调用 PDOStatement::execute() 时,每一个值的参数占位标记,名称必须唯一。 除非启用模拟(emulation)模式,同一个语句里无法使用重名的参数。

注意:

参数占位符仅能字面上展示完整的数据。不能是字面的一部分,不能是关键词,不能是标识符,不能是其他任意的范围。 举例说明:不能把多个值绑到单个参数里,然后在 SQL 语句里用 IN() 查询。

如果用不同参数,通过 PDO::prepare() 和 PDOStatement::execute() 多次调用同一个 SQL 语句,将提升应用的性能 —— 驱动可以让客户端/服务器缓存查询和元信息。 同时,调用 PDO::prepare() 和 PDOStatement::execute() 还能阻止 SQL 注入攻击,不需要给参数手动加引号与转义。

如果内置驱动不支持参数,PDO 将模拟出参数的功能;如果驱动仅仅支持其中一种风格(命名参数和问号参数两种),也会自动重写到另外一种风格。

注意: The parser used for emulated prepared statements and for rewriting named or question mark style parameters supports the non standard backslash escapes for single- and double quotes. That means that terminating quotes immediately preceeded by a backslash are not recognized as such, which may result in wrong detection of parameters causing the prepared statement to fail when it is executed. A work-around is to not use emulated prepares for such SQL queries, and to avoid rewriting of parameters by using a parameter style which is natively supported by the driver.

参数

statement

必须是对目标数据库服务器有效的 SQL 语句模板。

driver_options

数组包含一个或多个 key=>value 键值对,为返回的 PDOStatement 对象设置属性。 常见用法是:设置 PDO::ATTR_CURSOR 为 PDO::CURSOR_SCROLL,将得到可滚动的光标。 某些驱动有驱动级的选项,在 prepare 时就设置。

返回值

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

注意:

模拟模式下的 prepare 语句不会和数据库服务器交互,所以 PDO::prepare() 不会检查语句。

范例

示例 #1 命名参数形式的 SQL 语句模板

<?php

$sql = 'SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour';
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(':calories' => 150, ':colour' => 'red'));
$red = $sth->fetchAll();
$sth->execute(array(':calories' => 175, ':colour' => 'yellow'));
$yellow = $sth->fetchAll();
?>

示例 #2 问号形式的 SQL 语句模板

<?php

$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->execute(array(150, 'red'));
$red = $sth->fetchAll();
$sth->execute(array(175, 'yellow'));
$yellow = $sth->fetchAll();
?>

--结束END--

本文标题: php prepare的用法是什么

本文链接: https://www.lsjlt.com/news/1165.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php prepare的用法是什么
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑php prepare的用法是什么?PDO::prepare(PHP 5 >= 5.1.0, PHP 7, PHP 8, PHP 8,PECL pdo >= ...
    99+
    2019-11-22
    php prepare
  • mysql prepare的作用是什么
    今天小编给大家分享一下mysql prepare的作用是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2023-04-21
    mysql prepare
  • php中的prepare怎么用
    这篇文章给大家介绍php中的prepare怎么用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在php中“PDO::prepare”表示准备要执行的语句,并返回语句对象,其使用语法如“public PDO::prepa...
    99+
    2023-06-28
  • PHP中的prepare()方法的示例分析
    这篇文章主要介绍了PHP中的prepare()方法的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php是什么语言php,一个嵌套的缩写名称,是英文超级文本预处理语言...
    99+
    2023-06-14
  • PHP number_format()的用法是什么
    PHP的number_format()函数用于将数字格式化为易读的格式,例如添加千位分隔符和小数点后的位数。number_forma...
    99+
    2023-10-18
    PHP
  • php array_column的用法是什么
    array_column函数是一个用于取得数组中指定列的值,并返回这些值的新数组的函数。基本用法:array_column(arra...
    99+
    2023-10-20
    php
  • PHP json_encode()的用法是什么
    json_encode() 函数是一个用于将 PHP 数据结构转换为 JSON 格式的函数。 使用方法如下: json_encode...
    99+
    2023-10-21
    PHP
  • PHP stripos()的用法是什么
    PHP stripos()函数用于在字符串中查找子字符串的第一次出现的位置(不区分大小写)。函数的语法为:phpstripos(st...
    99+
    2023-10-18
    PHP
  • PHP password_verify()的用法是什么
    PHP的password_verify()函数用于验证密码是否与哈希值匹配。该函数接受两个参数:用户输入的密码和存储在数据库中的哈希...
    99+
    2023-10-24
    PHP
  • php memcached 的用法是什么
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑php memcached 的用法是什么?使用PHP简单操作Memcached:记得一定要先启动Memcached哦![root@localhost ~]# /usr/b...
    99+
    2019-11-17
    php memcached
  • php echo的用法是什么
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑php echo的用法是什么?echo() 函数输出一个或多个字符串。注释:echo() 函数实际不是一个函数,所以您不必对它使用括号。然而,如果您希望向 echo()...
    99+
    2016-12-30
    php echo
  • php mysql_fetch_row的用法是什么
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑PHP mysql_fetch_row() 函数从结果集中取得一行作为数字数组。语法mysql_fetch_row(data)参数说明:data:要使用的数据指针,必需...
    99+
    2014-11-30
    php mysql_fetch_row
  • php中define的用法是什么
    在PHP中,define函数用于定义常量。常量是一个简单值的标识符,该值在脚本中是不变的,不能被重新赋值。define函数的语法如下...
    99+
    2023-09-16
    php
  • php mb strpos 的用法是什么
    本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。php mb_strpos 的用法是什么?mb_strpos(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)mb_strpos — 查找...
    99+
    2020-04-13
    php mb_strpos
  • php中case的用法是什么
    本文操作环境:Windows7系统、PHP7.1版、Dell G3电脑。php中case的用法是什么?PHP Switch 语句switch 语句用于根据多个不同条件执行不同动作。如果您希望有选择地执行若干代码块之一,请使用 switch ...
    99+
    2015-11-19
    php case
  • php 正则的用法是什么
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑php正则的使用函数描述preg_filter执行一个正则表达式搜索和替换preg_grep返回匹配模式的数组条目preg_last_error返回最后一个PCRE正则执...
    99+
    2014-08-02
    php 正则
  • php中const的用法是什么
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑const是php中的一个关键字,是用来定义常量的。在PHP中,可以使用 const 关键字或 define() 函数两种方法来定义一个常量。函数 define() 允...
    99+
    2019-07-16
    php const
  • php中model的用法是什么
    本文操作环境:Windows7系统、PHP7.4版、DELL G3电脑php中model的用法是什么PHP模型Model类封装数据库操作示例PHP模型Model类封装数据库操作,结合实例形式分析了php使用mysqli封装的针对数据库操作相...
    99+
    2022-02-04
    php model
  • php中fwrite的用法是什么
    本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。php中fwrite的用法是什么PHP fwrite() 函数定义和用法fwrite() 函数将内容写入一个打开的文件中。函数会在到达指定长度或读到文件末尾(EOF)时...
    99+
    2020-03-18
    php fwrite
  • php中in_array()的用法是什么
    本文操作环境:windows10系统、php7、thinkpad t480电脑。我们都知道php中有大量的内置函数,在很多情况下使用起来非常方便。其中就有一个函数in_array(),可能还有很多小伙伴并不清楚它的具体用法,下面我们就来一起...
    99+
    2021-06-21
    php in_array()
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作