PHP当中SQL语句的预处理

这篇博客详细介绍了PHP中如何实现SQL语句的预处理,包括使用mysqli_prepare()预处理SQL模板,通过‘?’占位符进行参数绑定,并使用mysqli_stmt_bind_param()函数指定数据类型。此外,还展示了如何执行预处理的SQL语句,利用mysqli_stmt_execute()函数将绑定的变量内容发送给MySQL执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、什么是预处理

1、实现SQL语句的预处理
2、首先需要预处理一个待执行的SQL语句模板
3、然后为该模板进行参数绑定
4、最后将用户提交的数据内容发送给MySQL执行,完成预处理的执行

二、预处理的实现——预处理SQL模板

1、mysqi_prepare()函数用于预处理一个待执行的SQL语句

mysqli_stmt mysqli_prepare ( mysqli $link , string $query )

参数$link表示数据库连接
$query表示SQL语句模板当函数执行后,成功时返回预处理对象,失败时返回false。

2、在编写SQL语句模板时,其语法是将数据部分使用“?”占位符代替。

#SQL正常语法
UPDATE student SET name=‘Ileana’ WHERE id=1;
#SQL模板语法
UPDATE student SET name=? WHERE id=?;

SQL语句模板语法,对于字符串内容,“?”占位符的两边无需使用引号包裹

3、mysqli_stmt_bind_param()函数用于将变量作为参数绑定到预处理语句中。

bool mysqli_stmt_bind_param (
mysqli_stmt $stmt, // 预处理对象
string KaTeX parse error: Expected 'EOF', got '&' at position 24: …// 数据类型 mixed &̲var1, // 绑定变量1(引用传参)
[, mixed&$… ] // 绑定变量n…(可选参数,可绑定多个,引用传参)
)

$stmt表示由mysqli_prepare()函数返回的预处理对象
$types用于指定被绑定变量的数据类型,它是由一个或多个字符组成的字符串
v a r ( 可 以 是 多 个 参 数 ) 表 示 需 要 绑 定 的 变 量 , 且 其 个 数 必 须 与 var(可以是多个参数)表示需要绑定的变量,且其个数必须与 vartypes字符串的长度一致
该函数执行成功时返回true,失败时返回false

4、参数绑定时的数据类型字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值