pdo::prepare-k8凯发旗舰

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

pdo::prepare预处理要执行的语句,并返回语句对象  

说明

public pdo::prepare(string $query, array $options = []): pdostatement|false

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

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

note:

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

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

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

#pdo #php
发表评论
投稿
网站地图