学习笔记:mysqli预处理和事务处理
2012-07-18 14:14
134 查看
1 | 应用环境 | |
mysqli预处理功能(大量数据处理时使用) | ||
2 | 步骤 | |
a)mysqli连接数据库 | $mysqli = new mysqli('localhost','root','root','chuanzhi'); | |
b)设置编码 | $mysqli->set_charset('gb2312'); | |
c)发送query语句 | 使用$mysqli->prepare($query)这个方法表示是预处理,如果涉及到取值,必须指定查询字段 $query = "select id,proName,proClass,proPrice from product where id>?"; $stmt = $mysqli->prepare($query); | |
d)提供条件 | 比如上句用了?作为不确定的值,就需要指定 $stmt->bind_param('i', $id); 用变量绑定?表示的值,i表示整型,d表示浮点型,b代表二进制,s代表其它的所有 $id='1'; 指定变量的值 $stmt->execute(); 发送变量,此时服务器的语句已经完整了 | |
e)从sql服务器中取回结果 | 预处理语句会将结果集保存在sql开辟的内存中,php开辟的内存无法直接使用(count是php函数,不是sql函数,无法直接与sql内存交互),默认情况是每次执行fetch()会从sql内存中取出一行,但是不使用store_result()就无法获取行数.当然如果你的结果只有一行,可以无视这一句.请记住:在mysqli预处理中取出数据,只能使用fetch()这是因为mysqli_stmt类并没有其它取值方法 $stmt->store_result();//如果用变量接收的话,会发现成功了显示1,否则显示0 | |
f)获取结果集行数 | $count = $stmt->num_rows(); | |
g)绑定结果集需要输出的字段 | $stmt->bind_result($id,$proName,$proClass,$proPrice); 名字无所谓,反正按顺序对应query的字段,变量个数要和query字段个数一致 | |
h)输出结果 | 前面说了,既然要取值,当然前面query指定了查询字段,上句的变量用上了 | |
i) | 你懂的,关闭mysqli链接 |
1 | 应用环境 | |
对于安全比较在意的时候使用 | ||
2 | 步骤 | |
MYSQL中只有INNODB和BDB类型的数据表才能支持事务处理!其他的类型是不支持的! | ||
a)连接数据库和设置编码 | 不用说,当然是连接数据库和设置编码了,mysql和mysqli都支持事务处理 | |
b)关闭自动提交 | $mysqli->autocommit(false);在sql的客户端里面用set autocommit = 0; | |
c)开启事务 | 开启一个事务start transation(mysql中才有这一句,mysqli不需要这一句); | |
d)执行sql语句 | ||
e)判断执行结果是否是自己想要的 | 如果是,就提交$mysqli->commit(); 否则,回滚$mysqli->rollback(); | |
f)开启自动提交 | $mysqli->autocommit(true); //个人认为这句并不是必须的,因为页面执行完,会回到初始状态,也就是自动提交状态 | |
g)关闭数据库连接 | $mysqli->close(); | |
(许坤,php工程师,PHP工程师,互联网研发工程师,软件工程师)
原文地址:/article/7095239.html
相关文章推荐
- 50.笔记 MySQL学习——利用事务处理保证语句
- php学习笔记(十九)mysqli扩展库的多语句查询、事物处理以及字符集设置
- 十、Oracle数据库之学习笔记---Oracle事务处理
- MyGeneration学习笔记(8) :dOOdad提供的数据绑定、特殊函数和事务处理
- Spark学习笔记(4)Spark Streaming的Exactly-One的事务处理
- 【二十二】mysqli事务处理与预处理总结
- JDBC基础学习笔记_04_jdbc事务处理
- PHP学习 mysqli事务处理
- MyGeneration学习笔记(8) :dOOdad提供的数据绑定、特殊函数和事务处理
- mysqli预处理和事务处理
- C#学习笔记18——.NET 事务处理
- MyCat 学习笔记 第十二篇.数据分片 之 分片事务处理
- ThinkPHP学习笔记 事务处理
- MyGeneration学习笔记(8) :dOOdad提供的数据绑定、特殊函数和事务处理
- php学习笔记(十八)php扩展库mysqli的使用和处理结果集
- [MySql学习笔记] 四 存储引擎事务处理
- MyGeneration学习笔记(8) :dOOdad提供的数据绑定、特殊函数和事务处理
- 事务处理及锁定 【数据库高效编程 - 学习笔记 第六章】
- 黑马程序员之ADO.NET学习笔记:网络数据的事务处理
- 「Redis学习笔记」事务和错误处理