国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php使用PDO事務配合表格讀取大量數(shù)據(jù)插入操作實現(xiàn)方法

2024-05-04 23:55:13
字體:
供稿:網(wǎng)友

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

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

關(guān)于事務的具體講解

本篇文章,只涉及一個小例子。

在向數(shù)據(jù)庫導入一個表格的時候,難免excel文件中存在部分錯誤,如果用常規(guī)方法,將會導致,一部分插入了數(shù)據(jù)庫,一部分沒有插入,會帶了很大的不便。

<?phpheader("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();//創(chuàng)建對象$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");//設置數(shù)據(jù)庫編碼  $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);//綁定參數(shù)    $result->bindParam(2,$id2);//綁定參數(shù)    $result->bindParam(3,$id3);//綁定參數(shù)    $result->bindParam(4,$id4);//綁定參數(shù)    $result->bindParam(5,$id5);//綁定參數(shù)    echo $result->execute();//執(zhí)行插入操作  }  $pdo->commit();//執(zhí)行事物的提交操作*/}catch (PDOException $e){  die("Error!: ".$e->getMessage().'<br>');  $pdo->rollBack();//執(zhí)行事物的回滾操作}

補充:

異常模式將會創(chuàng)建一個PDOException,并設置errorCode屬性,它可以將執(zhí)行代碼封裝到一個try{}catch{}語句塊中。未捕獲的異常將會導致腳本中斷,并顯示堆棧跟蹤讓用戶了解是哪里出現(xiàn)了問題。
除此之外:

警告模式會產(chǎn)生一個PHP警告,并設置errorCode屬性。如果設置的是警告模式,那么除非明確的檢查錯誤代碼,否則程序?qū)⒗^續(xù)按照其方式運行。

在默認模式中設置PDOStatement對象的errorCode屬性,但不進行其他任何操作。

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


注:相關(guān)教程知識閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 丹阳市| 新丰县| 昆山市| 桂阳县| 三明市| 察哈| 察隅县| 宕昌县| 兴隆县| 襄垣县| 年辖:市辖区| 黄浦区| 化州市| 旬邑县| 曲阜市| 玉门市| 林芝县| 濉溪县| 绥德县| 香港| 岑溪市| 新丰县| 翁牛特旗| 玉树县| 嘉黎县| 白朗县| 化州市| 济阳县| 阿拉尔市| 衡水市| 肥乡县| 宁陕县| 凭祥市| 手游| 娄烦县| 杭锦后旗| 竹山县| 临猗县| 中宁县| 安平县| 偃师市|