Mysqli_stmt 预处理优点:
- 效率高,执行多条相同语句,只有语句数据不同,通过占位符,让效率提高。
- 安全,可以防止 sql 注入。
- 后期传的值不会当成 sql 语句,只会当作值处理,所以安全些。
//$stmt=$db->stmt_init();//创建预处理对象
//准备sql语句
$sql="insert into `affair` (`name`,`age`) values (?,?)";
//预处理及绑定
//$stmt->prepare($sql);
//也可以这样,通过mysqli对象里面的prepare方法直接创建stmt对象。
$stmt=$db->prepare($sql);
//bind_param()第一个参数表示数据类型,有四种:
//i:表示整型
//d:表示double
//s:表示字符串类型
//b:表示大数据二进制类型
$stmt->bind_param("ss",$name,$age);
$name='Tom';
$age='25';
$stmt->execute();//执行
echo $stmt->insert_id;
$stmt->close();//如果忘记销货预处理语句,那么就有可能引起资源泄漏。
$db->close();