php+mysql执行参数化查询的方法


/*
* 功能描述:
* php+mysql执行参数化查询的方法,主要是为了解决大文本和特殊符号问题(如:单引号',双引号")
* 使用到的类:
* 增强的mysql类(mysqli),不要以为多写了一个i,没有多写
* 这里的表是:var 里面有三个字段 id(自增),varName(varchar(255)),varValue(text)
*/
$mysqli = new mysqli("localhost","root","shuai","app_shuaiblog"); //创建mysqli实例
$sql = "INSERT INTO `var`(`varName`,`varValue`) VALUES(?,?)"; //预处理sql语句
$stmt = $mysqli->prepare($sql); //将sql添加到mysqli进行预处理
 
/* 下一行的解释:
* 给sql语句绑定参数
* 注意:第一个参数对应sql语句中的?号的个数(也就是参数的个数),
* 必须用字母s,有几个参数就用几个s,后面是参数对用的变量,一一对应
*/
$stmt->bind_param("ss",$varName,$varValue);
 
/* 后面三行代码的解释
* 给参数赋值,不要以为给参数赋值必须在上一句之前,这里的参数可以后赋值,
* 在执行execute()的时候发送sql命令,为的是可以使用一个sql语句执行多次插入数据
*/
$varName = "copyright"; //给参数赋值,这里可以是post过来的数据,如:$_POST["varName"]
$varValue = "版权所有:翟帅干"; //同样的给参数赋值
$stmt->execute(); //执行预处理sql
 
//这里可以再次修改参数的值,进行二次添加数据
$varName = "phone"; //再次改变绑定的参数,
$varValue = "18621727981"; //同样的改变第二个参数
$stmt->execute(); //再次执行预处理sql
 
//关闭结束预处理
$stmt->close();

豫ICP备12024565号-1   E-mail:admin@hlc8.com