全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

php使用PDO事务配合表格读取大量数据插入操作实现方法

本文实例讲述了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小时内与您取得联系。