首页 » 网站建设 » mysql事务设置php技巧_PHP中的MySQLi扩展进修四mysqli的事务与预处理语句

mysql事务设置php技巧_PHP中的MySQLi扩展进修四mysqli的事务与预处理语句

访客 2024-11-15 0

扫一扫用手机浏览

文章目录 [+]

//利用非常处理缺点情形$driver=newmysqli_driver();$driver->report_mode=MYSQLI_REPORT_ERROR|MYSQLI_REPORT_STRICT;

这样就指定了在利用 MySQLi 扩展时,所有的缺点信息都会作为非常抛出。

接下来的内容,实在就和 PDO 很相似了。

mysql事务设置php技巧_PHP中的MySQLi扩展进修四mysqli的事务与预处理语句

try{//开始事务$mysqli->begin_transaction();$mysqli->query("insertintotran_innodb(name,age)values('Joe',12)");$mysqli->query("insertintotran_innodb2(name,age)values('Joe',12)");//不存在的表//提交事务$mysqli->commit();}catch(Exception$e){//回滚事务$mysqli->rollback();var_dump($e->getMessage());//string(44)"Table'blog_test.tran_innodb2'doesn'texist"}

我们同样是利用一个 begin_transaction() 来启动事务。
然后通过 commint() 方法来提交事务。
在这段测试代码中,第二条 SQL 语句是会报错的,于是进入了 catch 中,利用 rollback() 来回滚事务。

mysql事务设置php技巧_PHP中的MySQLi扩展进修四mysqli的事务与预处理语句
(图片来自网络侵删)
预处理语句

总体来说,事务的处理和 PDO 的差异不大,但是预处理语句和 PDO 中的利用的差异就有一些了。
首先是我们的 MySQLi 中的占位符只有 ? 问号占位。
其余也只有 bind_param() 没有类似于 PDO 中的 bindValue() 方法。

$stmt=$mysqli->prepare("selectfromzyblog_test_userwhereusername=?");$username='aaa';$stmt->bind_param("s",$username);//绑定参数$stmt->execute();//实行语句$aUser=$stmt->fetch();//获取mysqli_result结果集工具$username='bbb';$stmt->bind_param('s',$username);$stmt->execute();$bUser=$stmt->fetch();var_dump($aUser);//array(4){//["id"]=>//int(1)//["username"]=>//string(3)"aaa"//["password"]=>//string(3)"aaa"//["salt"]=>//string(3)"aaa"//}var_dump($bUser);//array(4){//["id"]=>//int(2)//["username"]=>//string(3)"bbb"//["password"]=>//string(3)"bbb"//["salt"]=>//string(3)"123"//}

从代码中可以看出,bind_param() 方法的利用也和 PDO 有很大的不同。
它不须要下标,而是给了一个 s 参数。
这个参数表明的是绑天命据的类型,s 便是字符串类型。
其它的类型我们在学习 MySQLi_STMT 干系的内容时再深入的理解。

总结

实在从代码层面来说,大部分的内容都是和 PDO 非常相似的,只是有些参数的不同而已。
对付我们来说,还是多以学习理解为主,在自己封装或者利用某些以 MySQLi 为底层数据库操作的框架时不至于晕头转向。

测试代码:

https://github.com/zhangyue0503/dev-blog/blob/master/php/202009/source/7.PHP中的MySQLi扩展学习(四)mysqli的事务与预处理语句.php

参考文档:

https://www.php.net/manual/zh/book.mysqli.php

标签:

相关文章

济宁SEO术语分析,优化步骤与实战方法

搜索引擎优化(SEO)已成为企业提升网站排名、吸引潜在客户的重要手段。济宁作为山东省的重要城市,拥有丰富的历史文化和经济发展潜力。...

网站建设 2025-03-26 阅读1 评论0