本文实例讲述了php使用PDO事务配合表格读取大量数据插入操作实现方法。分享给大家供大家参考,具体如下:

在处理大量数据的时候,或者同时对几个表操作,而这几个表的操作要求,要么都成功,要么都失败的时候,就需要用到事物,而PDO中提供的事物,一般可以满足需求。
关于事务的具体讲解,https://www./article/105744.htm
本篇文章,只涉及一个小例子。
在向数据库导入一个表格的时候,难免excel文件中存在部分错误,如果用常规方法,将会导致,一部分插入了数据库,一部分没有插入,会带了很大的不便。
<?php
header("Content-Type: text/html; charset=utf-8");
error_reporting(E_ALL ^ E_NOTICE);
require_once 'excel_reader2.php';//导入excel_reader文件
$data = new Spreadsheet_Excel_Reader();//创建对象
$data->setOutputEncoding('UTF-8');//设置编码格式
$data->read("example.xls");//读取excel文档*/
echo $hang=$data->sheets[0]['numRows']."行<br>";//读出一共几行
echo $lie=$data->sheets[0]['numCols']."列<br>";//读出一共几列
$dbms='mysql';
$dbname='biaoge';
$user='root';
$pwd='123456';
$host='localhost';
$dsn="$dbms:host=$host;dbname=$dbname";
try {
$pdo = new PDO($dsn, $user, $pwd);
$pdo->exec("SET NAMES UTF8");//设置数据库编码
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);//异常模式
$pdo->beginTransaction();//开启事物
$query = "INSERT INTO test SET id1=?,id2=?,id3=?,id4=?,id5=?";//预编译插入语句
$result=$pdo->prepare($query);
// $result->execute(array("111","222","333","444","555"));
// $pdo->commit();
for ($i = 1; $i <= $hang; $i++) {
$id1=$data->sheets[0]['cells'][$i][1];
$id2=$data->sheets[0]['cells'][$i][2];
$id3=$data->sheets[0]['cells'][$i][3];
$id4=$data->sheets[0]['cells'][$i][4];
$id5=$data->sheets[0]['cells'][$i][5];
$result->bindParam(1,$id1);//绑定参数
$result->bindParam(2,$id2);//绑定参数
$result->bindParam(3,$id3);//绑定参数
$result->bindParam(4,$id4);//绑定参数
$result->bindParam(5,$id5);//绑定参数
echo $result->execute();//执行插入操作
}
$pdo->commit();//执行事物的提交操作*/
}catch (PDOException $e){
die("Error!: ".$e->getMessage().'<br>');
$pdo->rollBack();//执行事物的回滚操作
}
补充:
异常模式将会创建一个PDOException,并设置errorCode属性,它可以将执行代码封装到一个try{}catch{}语句块中。未捕获的异常将会导致脚本中断,并显示堆栈跟踪让用户了解是哪里出现了问题。
除此之外:
警告模式会产生一个PHP警告,并设置errorCode属性。如果设置的是警告模式,那么除非明确的检查错误代码,否则程序将继续按照其方式运行。
在默认模式中设置PDOStatement对象的errorCode属性,但不进行其他任何操作。
附:
php-excel-reader本站下载地址: https://www./codes/67223.html
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基于pdo操作数据库技巧总结》、《php+Oracle数据库程序设计技巧总结》、《PHP+MongoDB数据库操作技巧大全》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
# php
# PDO
# 事务
# 表格
# 读取
# 大量数据
# 插入操作
# PHP5中使用PDO连接数据库的方法
# PHP中PDO连接数据库中各种DNS设置方法小结
# ThinkPHP框架基于PDO方式连接数据库操作示例
# PHP实现的pdo连接数据库并插入数据功能简单示例
# PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
# php中在PDO中使用事务(Transaction)
# php下pdo的mysql事务处理用法实例
# PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操作】
# php PDO实现的事务回滚示例
# php的PDO事务处理机制实例分析
# php pdo连接数据库操作示例
# 绑定
# 将会
# 几个
# 程序设计
# 的是
# 操作技巧
# 相关内容
# 下载地址
# 感兴趣
# 给大家
# 它可以
# 而这
# 带了
# 但不
# 更多关于
# 所述
# 创建一个
# 面向对象
# 出现了
# 几行
相关文章:
Android自定义listview布局实现上拉加载下拉刷新功能
如何在IIS7中新建站点?详细步骤解析
枣阳网站制作,阳新火车站打的到仙岛湖多少钱?
如何在IIS管理器中快速创建并配置网站?
如何正确选择百度移动适配建站域名?
建站org新手必看:2024最新搭建流程与模板选择技巧
电商平台网站制作流程,电商网站如何制作?
如何通过IIS搭建网站并配置访问权限?
如何用西部建站助手快速创建专业网站?
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
如何在Golang中使用encoding/gob序列化对象_存储和传输数据
想学网站制作怎么学,建立一个网站要花费多少?
开源网站制作软件,开源网站什么意思?
中山网站制作网页,中山新生登记系统登记流程?
如何使用Golang table-driven基准测试_多组数据测量函数效率
建站之星如何快速生成多端适配网站?
网站app免费制作软件,能免费看各大网站视频的手机app?
如何用AWS免费套餐快速搭建高效网站?
学校免费自助建站系统:智能生成+拖拽设计+多端适配
如何快速搭建虚拟主机网站?新手必看指南
网页设计与网站制作内容,怎样注册网站?
Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递
如何在IIS服务器上快速部署高效网站?
常州企业建站如何选择最佳模板?
深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?
php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】
设计网站制作公司有哪些,制作网页教程?
如何零基础开发自助建站系统?完整教程解析
C++时间戳转换成日期时间的步骤和示例代码
完全自定义免费建站平台:主题模板在线生成一站式服务
如何快速搭建高效香港服务器网站?
如何通过FTP服务器快速搭建网站?
音响网站制作视频教程,隆霸音响官方网站?
如何在云主机上快速搭建多站点网站?
如何用IIS7快速搭建并优化网站站点?
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
如何通过商城自助建站源码实现零基础高效建站?
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
利用JavaScript实现拖拽改变元素大小
SQL查询语句优化的实用方法总结
网站制作网站,深圳做网站哪家比较好?
如何安全更换建站之星模板并保留数据?
在线制作视频的网站有哪些,电脑如何制作视频短片?
如何快速上传自定义模板至建站之星?
如何在云主机上快速搭建网站?
5种Android数据存储方式汇总
建站之星图片链接生成指南:自助建站与智能设计教程
如何在阿里云ECS服务器部署织梦CMS网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。