PHP MYSQL预处理及数据绑定:
$stmtkey = "%{$key}%";
$sql = 'select * from c1 where uname like ?';此时 ? 是一个占位符
$stmt = mysqli_prepare($link,$sql);开启预处理,对设定的SQL语句进行预处理
$bool1 = mysqli_stmt_bind_param($stmt,'s[类型n]',$stmtkey,[绑定的数值n...]);:绑定数据,给?绑定相应的数据,返回一个布尔值
$stmt:
's':绑定?的数据类型
s 字符串
i 整数
d 浮点数
b 二进制大文本
$stmtkey:?绑定的数值
$bool2 = mysqli_stmt_execute($stmt);:使用预处理方式正式执行SQL语句返回的结果是布尔值
$result = mysqli_stmt_get_result($stmt);如果是查询语句,需要再获取执行结果,数据类型还是对象
$arr = mysqli_fetch_all($result,MYSQLI_ASSOC);
mysqli_stmt_close($stmt);:关闭预处理
发表评论