廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 5523 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
surro
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x3
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[SQL][教學] [教學分享]用php把csv檔匯入mysql資料庫
我在windows做的csv檔,可以在excel被打開但未必能在phpmyadmin中匯入
我不知為何mysql對於csv檔的設定到底是什麼
在其他地方可用的csv,到了mysql未必可以,縱使你做了設定
於是就用php寫了一個匯入的程式
fgetcsv 這個函數是用來讀取csv檔的

他的中文說明如下

說明
array fgetcsv ( int fp, int length [, string delimiter [, string enclosure]])


和 fgets() 類似,只除了 fgetcsv() 解析讀入的行並找出 CSV 格式的字段然後傳回一個包含這些字段的陣列。字段分隔符是逗號,或者用可選的第三個參數另外指定。字段用雙引號包圍,或者用可選的第四個參數另外指定。Delimiter 和 enclosure 不能是 null 並且只有第一個字元有效。

fp 必須是通過 fopen(),popen() 或者 fsockopen() 成功打開的有效文件指針。

length 必須大於 CVS 文件中長度最大的行(以便於處理行結束字元)。

fgetcsv() 出錯時傳回 FALSE,包括碰到文件結束時。

註: CSV 文件中的空行將被傳回為一個包含有單個 NULL 字段的陣列,不會被當成錯誤。

enclosure 是 PHP 4.3.0 新加的。






以下範例是參考中文說明修改而來
原始程式碼請參考
http://www.php5.idv.tw/documents/p...n.fgetcsv.html
這段程式碼增加了對資料表的新增動作

"
      $sql="INSERT INTO `mpwd` ( `NAME` , `CUNO` , `SERIAL` , `MPWD` )
          VALUES ('$temp[0]','$temp[1]','$temp[2]','$temp[3]')";
"

我一次讓他讀一個row,用","分隔,放入$temp陣列中
陣列中的數值是代表他在資料表中的第幾欄

mysql_connect("localhost","abc","glicd24d") or die("連線失敗請洽系統管理員");
mysql_select_db("test");
$dbname="abc.csv";
if ( !$fp = fopen($dbname,"r") ) {
      echo "Cannot open $dbname
";
      exit;
}else{

  $size = filesize($dbname)+1;
  $row=0;
  while($temp=fgetcsv($fp,$size,",")){
    if ($row>0){
      $sql="INSERT INTO `mpwd` ( `NAME` , `CUNO` , `SERIAL` , `MPWD` )
          VALUES ('$temp[0]','$temp[1]','$temp[2]','$temp[3]')";
      $result=mysql_query($sql);
      echo mysql_error();
    }
    $row=$row+1;
  }
  fclose($fp);
}



獻花 x0 回到頂端 [樓 主] From:未知地址 | Posted:2004-11-16 10:53 |
qwe34
個人頭像
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x3 鮮花 x27
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

最近在學PHP

感謝大大提供的PHP教學


qwe34's旅記日誌
大溪 ● 古蹟、道 ● 咖啡廳 ● 風景 皆深入瞭解拍攝,歡迎指教
獻花 x0 回到頂端 [1 樓] From:未知地址 | Posted:2004-12-08 00:18 |

廣告
首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.023888 second(s),query:17 Gzip disabled
本站由 簡榮宗律師 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言