PHP的扩展类 mysqli_stmt:预处理类
mysqli和mysqli_result能完成的功能 都可以使用mysqli_stmt类开完成
1.编译一次,使用多次,类似于存储过程
2.参数化查询,可防止sql注入
1: <?php
2: header("Content-Type:text/html; charset=utf8");
3:
4: $mysqli = new mysqli("localhost","root","1234","test2");
5:
6: if($mysqli->connect_error)
7: {
8: die("连接数据库出错:".$mysqli->connect_error);
9: }
10:
11:
12: // 增
13: // $sql = "insert into userinfo(uName,uAge,uPwd) values(?,?,?);";
14: // 删
15: // $sql = "delete from userinfo where id=?;";
16: // 改
17: // $sql = "update userinfo set uAge=? where Id=?;";
18: // 查
19: // $sql = "select top(?) uName,uAge,uPwd from userinfo where id>?;";
20: $sql = "select uname,uage,upwd from test2.userinfo where id>? limit ?,5";
21:
22:
23: //创建预编译对象
24: $stmt=$mysqli->prepare($sql);
25:
26: //按顺序给点位符绑定值(绑定参数)
27: //s:string,i:int,d:double,b:二进制大数据类型
28:
29: // 增
30: // $stmt->bind_param("sis",$uName,$uAge,$uPwd);
31: // $uName="阿斯顿";
32: // $uAge=28;
33: // $uPwd=3557;
34:
35: // 删
36: // $stmt->bind_param("i",$Id);
37: // $Id=25;
38:
39: // 改
40: // $stmt->bind_param("ii",$uAge,$Id);
41: // $uAge=15;
42: // $Id=26;
43:
44: // 查
45: $stmt->bind_param("ii",$Id,$limitNum);
46: $Id=10;
47: $limitNum=5;
48:
49: $stmt->bind_result($uName,$uAge,$uPwd);
50:
51: //执行
52: $result = $stmt->execute();
53: if(!$result) echo "执行语句出错:".$stmt->error;
54:
55: while ($stmt->fetch()) {
56: echo "$uName----$uAge----$uPwd\n";
57: }
58:
59: // echo "最后一次添加的数据ID:".$stmt->insert_id."\n";
60: // echo "受影响行数".$stmt->affected_rows."\n";//只返回最后一次执行sql受影响的行数
61:
62: $stmt->close();
63:
64:
65:
66: ?>
PHP的扩展类 mysqli_stmt:预处理类的更多相关文章
- mysqli_stmt预处理类的使用
- mysqli_stmt预处理类
<?php $mysqli=new mysqli("localhost", "root", "123456", "xsph ...
- .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类
.NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类 0x00 为什么要引入扩展方法 有的中间件功能比较简单,有的则比较复杂,并且依赖其它组件.除 ...
- 用扩展开发一个PHP类
原文:http://my.oschina.net/mickelfeng/blog/122519?p=1 假设我们要用PHP扩展实 现一个类Person,它有一个private的成员变量$_name和两 ...
- 用UseMiddleware扩展方法注册中间件类
用UseMiddleware扩展方法注册中间件类 .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类 0x00 为什么要引入扩展方法 有的中间件 ...
- 前端笔记之ES678&Webpack&Babel(中)对象|字符串|数组的扩展&函数新特性&类
一.对象的扩展 1.1对象属性名表达式 ES6可以在JSON中使用[]包裹一个key的名字.此时这个key将用表达式作为属性名(被当做变量求值),这个key值必须是字符串. var a = 'name ...
- 找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应用程序类必须扩展javafx.应用程序类必 须扩展javafx.application.Application”
用eclipse写代码的时候,写了一个简单的程序,编译的时候突然出现“错误: 在类 com.test.demo 中找不到 main 方法, 请将 main 方法定义为: public static v ...
- ES6...扩展运算符(数组或类数组对象)
数组和类数组对象定义 数组:[] 类数组对象:只包含使用从零开始,且自然递增的整数做键名,并且定义了length表示元素个数的对象,我们就认为他是类数组对象. 数组使用 let foo_arr = [ ...
- php扩展开发3--扩展类传参数
1.需要实现的细节 实现一个person类 ,实现一个doing方法和saying方法 在构造方法中传递一个数组,在doing中打印此数组 saying方法中,构建一个空数组,返回,不需要传参. 2. ...
- php扩展开发2--添加类
1.需要实现的细节 实现一个person类 实现一个doing方法和saying方法 2.第一个扩展 2.1创建类的扩展: [root@bogon ext]# cd /usr/local/src/ph ...
随机推荐
- iptables实现正向代理
拓扑图 实现目标 内网用户通过Firewall服务器(iptables实现)访问外网http服务 配置 #iptables iptables -t nat -A POSTROUTING -i eth0 ...
- CSS基础知识真难啊-background-渐变
文章参考 http://www.zhangxinxu.com/wordpress/?p=727 http://www.uqu8.com/html/2014/html-css_1105/176.html ...
- 第二次作业——C++学习
课程选择: 以往在自学的过程就比较留意一些自学的网站,所以这次"C++自学"感觉找课程还是比较轻松的. 因为之前网页等学习都是在慕课网(视频学习个人感觉有时挺费时间的,特别是有时以 ...
- 【项目】iOS - 使用UIWebView占用内存过大
通过其他博主介绍的解决这个问题的博客: http://blog.techno-barje.fr//post/2010/10/04/UIWebView-secrets-part1-memory-leak ...
- 淘淘商城maven工程的创建和svn的上传实现
后台管理系统工程结构 maven管理的好处 1.项目构建.Maven定义了软件开发的整套流程体系,并进行了封装,开发人员只需要指定项目的构建流程,无需针对每个流程编写自己的构建脚本. 2.依赖管理.除 ...
- MyEclipse快捷键大全(绝对全)
存盘 Ctrl+s(肯定知道) 注释代码 Ctrl+/ 取消注释 Ctrl+\(Eclipse3已经都合并到Ctrl+/了) 代码辅助 Alt+/ 快速修复 Ctrl+1 代码格式化 Ctrl+Shi ...
- paramiko模块使用
paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,fabric和ansible内部远程管理就是使用paramiko来实现. #!/usr/bin/env pyt ...
- 安装weinre在PC端调试移动端
1.使用node安装weinre. 2.启动weinre, weinre --httpPort 8081 --boundHost -all- 3.在浏览器打开 http://localhost:80 ...
- GLSL Debugger的姿势
https://developer.apple.com/library/mac/documentation/GraphicsImaging/Conceptual/OpenGLShaderBuilder ...
- 使用 Object.create 创建对象,super 关键字,class 关键字
ECMAScript 5 中引入了一个新方法:Object.create().可以调用这个方法来创建一个新对象.新对象的原型就是调用 create 方法时传入的第一个参数: var a = {a: 1 ...