千家信息网

php中的prepare怎么用

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,这篇文章给大家介绍php中的prepare怎么用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在php中"PDO::prepare"表示准备要执行的语句,并返回语句对象,其使用语
千家信息网最后更新 2024年09月22日php中的prepare怎么用

这篇文章给大家介绍php中的prepare怎么用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

在php中"PDO::prepare"表示准备要执行的语句,并返回语句对象,其使用语法如"public PDO::prepare(string $statement, array $driver_options = array())"。

本文操作环境: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 语句模板

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 语句模板

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();?>

PHP开发环境搭建工具有哪些

一、phpStudy,是一个新手入门最常用的开发环境。二、WampServer,WampServer也同样的也是和phpStudy一样操作简单对小白比较友好。三、XAMPP,XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包;四、MAMP,MAMP分为两种MAMP和MAMP Pro for Mac。五、宝塔面板,宝塔面板是一款服务器管理软件,支持windows和linux系统。六、UPUPW,UPUPW是目前Windows平台下最具特色的Web服务器PHP套件。

关于php中的prepare怎么用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

语句 参数 形式 数据 服务器 服务 准备 模板 驱动 对象 数据库 问号 多个 环境 支持 查询 内容 功能 同时 宝塔 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网站微信软件开发公司哪家好 宁波软件开发实习 无线网络安全技术课堂作业 公安落实网络安全综述 县 网络安全形势分析 采用什么规格的esg数据库 数据库集合运算结果 网络安全近期大事件 sql怎么看数据库空间 荒野行动pc版为什么没有服务器 画网络安全边框手抄报 我的世界网易版人生模拟器服务器 数据库与媒体信息处理 幻塔电脑版怎么没有荒林镇服务器 关于网络安全的动漫配音 手机号码连接不到服务器 区考网络安全技术岗位 10g数据库支持增量导入 数据库原理填空与选择 绝地求生斗鱼主播都在哪个服务器 吉星网络技术有限公司招聘 网络技术扫盲 企业网盘服务器数据如何恢复 计算机网络技术和云计算的区别 数据库可以存图片和视频吗 河南曦月互联网科技 计算机网络技术职业素养要求 动森用的是的软件开发的 国产网络安全设备品牌 管家婆创业版 数据库
0