mysqli预处理

     预处理是php中防止SQL注入的一种方式。

     在mysqli操作中常常涉及到它的三个主要类:MySQLi类,MySQL_STMT类,MySQLi_RESULT类。预处理主要是利用MySQL_STMT类完成的。

      预处理是一种重要的 防止SQL注入的手段,对提高网站安全性有重要意义。

      创建SQL语句模板并发送到数据库。预留的值使用参数“?”。例如:INSERT INTO student(id,name,sex,age) values (?,?,?,?)

1)用?代替变量

2)获得mysqli_stmt对象,一定要记住传$sql,预处理是对sql语句的预处理

3)第一个参数表明变量类型,i(int)  d(double)  s(string)  b(blob)=>二进制类型

4)执行与处理语句,获取结果集

5)预处理对象最后一定要关闭

$sql = "SELECT * FROM `user` WHERE user=? and pwd=?";
$stmt = $conn->prepare($sql);
if($stmt = $conn->prepare($sql)){
	$stmt -> bind_param("ss",$user,$pwd);
	$stmt -> execute();
	$stmt -> store_result();
	if($stmt->num_rows==0){
		show_error('输入的用户名或密码错误','login.html');
	}
	$stmt->close();
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值