成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? php使用PDO事務配合表格讀取大量數據插入操作實現方法
全站頭部文字 我要出現在這里
php使用PDO事務配合表格讀取大量數據插入操作實現方法 735 2024-01-10   

本文實例講述了php使用PDO事務配合表格讀取大量數據插入操作實現方法。分享給大家供大家參考,具體如下:

在處理大量數據的時候,或者同時對幾個表操作,而這幾個表的操作要求,要么都成功,要么都失敗的時候,就需要用到事物,而PDO中提供的事物,一般可以滿足需求。

關于事務的具體講解,http://www.gimoo.net/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本站下載地址: http://www.gimoo.net/codes/67223.html

更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP基于pdo操作數據庫技巧總結》、《php+Oracle數據庫程序設計技巧總結》、《PHP+MongoDB數據庫操作技巧大全》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。



主站蜘蛛池模板: 抗日电影免费| 林熙蕾三级未删减| 美女拉屎| 《优越极限》在线观看免费韩剧| 官网移动端充值| naughty america| 刘浩存个人简介资料| 怀孕肚脐眼凸起和凹进去有什么区别| 默读车| 巴黎最后的探戈| 广场舞100首视频| 八年级上册英语课堂作业答案| 祈今朝电视剧免费观看影视大全| 香谱72图解详细解释大全| 简单的应急预案怎么写| 左航个人资料| 希比·布拉奇克| 重回蓝色珊瑚礁| 铁血使命演员表全部| 土壤动植物的乐园教学反思| 徐有容| 石璐| 山楂树之恋35集免费观看电视剧| 淡蓝色的雨简谱| 小说改编电视剧| 黑势力| 中国汉字大全20000个| 性视频网站在线| 苏晓电视剧叫什么名字的| 白蛇三| 生理卫生课程| 安静书素材可打印| 永远是少年电影免费观看| 焕羽电视剧免费播放在线观看| 意大利诱惑| 我未成年 电影| 碟仙诡谭| 啊啊操| 奇怪的夜晚电影| 钩织包包教程视频| 性感瑜伽|

!!!站長長期在線接!!!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103