PHP的扩展类 mysqli_stmt:预处理类
2014-01-08 23:33
453 查看
mysqli和mysqli_result能完成的功能 都可以使用mysqli_stmt类开完成
1.编译一次,使用多次,类似于存储过程
2.参数化查询,可防止sql注入
[/code]
[/code]
1.编译一次,使用多次,类似于存储过程
2.参数化查询,可防止sql注入
[code] [code] <?php
header("Content-Type:text/html; charset=utf8");
$mysqli = new mysqli("localhost","root","1234","test2");
if($mysqli->connect_error)
{
die("连接数据库出错:".$mysqli->connect_error);
}
// 增
// $sql = "insert into userinfo(uName,uAge,uPwd) values(?,?,?);";
// 删
// $sql = "delete from userinfo where id=?;";
// 改
// $sql = "update userinfo set uAge=? where Id=?;";
// 查
// $sql = "select top(?) uName,uAge,uPwd from userinfo where id>?;";
$sql = "select uname,uage,upwd from test2.userinfo where id>? limit ?,5";
//创建预编译对象
$stmt=$mysqli->prepare($sql);
//按顺序给点位符绑定值(绑定参数)
//s:string,i:int,d:double,b:二进制大数据类型
// 增
// $stmt->bind_param("sis",$uName,$uAge,$uPwd);
// $uName="阿斯顿";
// $uAge=28;
// $uPwd=3557;
// 删
// $stmt->bind_param("i",$Id);
// $Id=25;
// 改
// $stmt->bind_param("ii",$uAge,$Id);
// $uAge=15;
// $Id=26;
// 查
$stmt->bind_param("ii",$Id,$limitNum);
$Id=10;
$limitNum=5;
$stmt->bind_result($uName,$uAge,$uPwd);
//执行
$result = $stmt->execute();
if(!$result) echo "执行语句出错:".$stmt->error;
while ($stmt->fetch()){
echo "$uName----$uAge----$uPwd\n";
}
// echo "最后一次添加的数据ID:".$stmt->insert_id."\n";
// echo "受影响行数".$stmt->affected_rows."\n";//只返回最后一次执行sql受影响的行数
$stmt->close();
?>
[/code]
[/code]
相关文章推荐
- PHP的 Mysqli扩展库的多语句执行
- PHP基础文件下载类的简单封装
- 最新报道:广州传智播客PHP培训确定要开班拉
- PHP基础封装简单的MysqliHelper类
- PHP基础Mysql扩展库
- man bootparam 内核启动参数文档
- 2014.01.08php循环语句学习
- PHP简单封装MysqlHelper类
- php编译完成后,module追加编译进php
- PHP 文件与文件夹的创建和删除操作
- PHP文件的上传与下载
- PHP文件操作 读取与写入
- lftp与ftp的数据传输模式
- [转]XCache 3.0.0 发布,PHP 性能提升方案
- PHP 文件与目录操作函数总结
- ubuntu 13.10 LAMP + PhpMyAdmin 配置
- PHP设计模式之:单例模式
- PHP封装一个通用好用的文件上传处理类
- php读取flash文件高宽帧数背景颜色代码
- php通过COM类调用组件