欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年02月16日 09:49:23   作者:水晶依戀  
這篇文章主要介紹了php使用PDO事務(wù)配合表格讀取大量數(shù)據(jù)插入操作實現(xiàn)方法,涉及php使用excel_reader操作Excel文件及PDO操作數(shù)據(jù)庫的相關(guān)技巧,需要的朋友可以參考下

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

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

關(guān)于事務(wù)的具體講解,http://www.dbjr.com.cn/article/105744.htm

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

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

<?php
header("Content-Type: text/html; charset=utf-8");
error_reporting(E_ALL ^ E_NOTICE);
require_once 'excel_reader2.php';//導(dǎo)入excel_reader文件
$data = new Spreadsheet_Excel_Reader();//創(chuàng)建對象
$data->setOutputEncoding('UTF-8');//設(shè)置編碼格式
$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è)置數(shù)據(jù)庫編碼
  $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);//異常模式
  $pdo->beginTransaction();//開啟事物
  $query = "INSERT INTO test SET id1=?,id2=?,id3=?,id4=?,id5=?";//預(yù)編譯插入語句
  $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í)行事物的回滾操作
}

補(bǔ)充:

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

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

在默認(rèn)模式中設(shè)置PDOStatement對象的errorCode屬性,但不進(jìn)行其他任何操作。

附:

php-excel-reader本站下載地址: http://www.dbjr.com.cn/codes/67223.html

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP基于pdo操作數(shù)據(jù)庫技巧總結(jié)》、《php+Oracle數(shù)據(jù)庫程序設(shè)計技巧總結(jié)》、《PHP+MongoDB數(shù)據(jù)庫操作技巧大全》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

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

相關(guān)文章

  • php使用curl偽造來源ip和refer的方法示例

    php使用curl偽造來源ip和refer的方法示例

    這篇文章主要介紹了php使用curl偽造來源ip和refer的方法,涉及curl參數(shù)設(shè)置偽造來源相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • sql注入與轉(zhuǎn)義的php函數(shù)代碼

    sql注入與轉(zhuǎn)義的php函數(shù)代碼

    這篇文章主要介紹了sql的注入與轉(zhuǎn)義代碼,其實大家在使用過程中多參考dedecms 帝國 phpcms的代碼,相信你的代碼更安全
    2013-06-06
  • PHP中$_SERVER的詳細(xì)參數(shù)與說明介紹

    PHP中$_SERVER的詳細(xì)參數(shù)與說明介紹

    PHP編程中經(jīng)常需要用到一些服務(wù)器的一些資料,特把$_SERVER的詳細(xì)參數(shù)整理下,方便以后使用
    2013-10-10
  • php基于session實現(xiàn)數(shù)據(jù)庫交互的類實例

    php基于session實現(xiàn)數(shù)據(jù)庫交互的類實例

    這篇文章主要介紹了php基于session實現(xiàn)數(shù)據(jù)庫交互的類,實例分析了php結(jié)合session操作數(shù)據(jù)庫的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • php?redis的scan用法實例分析

    php?redis的scan用法實例分析

    在本篇文章了小編給大家整理了一篇關(guān)于php?redis的scan用法實例分析內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)下。
    2021-12-12
  • PHP代碼覆蓋率統(tǒng)計詳解

    PHP代碼覆蓋率統(tǒng)計詳解

    這篇文章主要介紹了PHP代碼覆蓋率統(tǒng)計詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • php session 錯誤

    php session 錯誤

    關(guān)于session的問題集錦解決方案
    2009-05-05
  • 巧用php中的array_filter()函數(shù)去掉多維空值的代碼分享

    巧用php中的array_filter()函數(shù)去掉多維空值的代碼分享

    在我們開發(fā)過程中,判斷數(shù)組為空時你會想到什么方法呢?首先想到的應(yīng)該是empty函數(shù),不過直接用empty函數(shù)判斷為空是不對的,因為當(dāng)這個值是多維數(shù)的時候,empty結(jié)果是有值的
    2012-09-09
  • PHP實現(xiàn)的超長文本分頁顯示功能示例

    PHP實現(xiàn)的超長文本分頁顯示功能示例

    這篇文章主要介紹了PHP實現(xiàn)的超長文本分頁顯示功能,涉及php針對字符串的計算、截取、遍歷等相關(guān)操作技巧,可實現(xiàn)針對超長文本的分頁顯示功能,需要的朋友可以參考下
    2018-06-06
  • 解析VS2010利用VS.PHP插件調(diào)試PHP的方法

    解析VS2010利用VS.PHP插件調(diào)試PHP的方法

    以下是對VS2010利用VS.PHP插件調(diào)試PHP的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下
    2013-07-07

最新評論