前回の記事では、必要に応じて Excel ファイルを読み取るための php-excel-reader の方法を紹介しました。
新しいデータベーステーブルは次のとおりです:
-- データベース: `卒業生`
-- テーブル構造「卒業生」
「同窓会」が存在しない場合はテーブルを作成 (
`id` bigint(20) NOT NULL AUTO_INCREMENT、
`gid` varchar(20) DEFAULT NULL コメント 'ファイル番号',
`student_no` varchar(20) DEFAULT NULL コメント '学生番号',
`name` varchar(32) DEFAULT NULL,
主キー (`id`)、
キー `gid` (`gid`)、
キー `名前` (`名前`)
) ENGINE=MyISAM デフォルト CHARSET=utf8;
インポート後のデータベースの結果は次のとおりです:
php のソース コードは次のとおりです:
コードをコピーします コードは次のとおりです:
php
header("Content -Type:text/html;charset=utf-8");
require_once 'excel_reader2.php';
set_time_limit(20000)
ini_set("memory_limit", "2000M");
//pdo を使用してデータベースに接続します
$dsn = "mysql:host=localhost;dbname=alumni;";パスワード = "";
try{
$dbh = 新しい PDO($dsn,$user,$password);
$dbh->query('set names utf8;'); }catch(PDOException $e){
echo "接続に失敗しました".$e->getMessage();
}
//pdo バインディング パラメータ操作
$stmt = $dbh-> prepare("卒業生(gid,student_no ,name) 値に挿入 (:gid,:student_no,:name) ");
$stmt->bindParam(":gid", $gid,PDO:: PARAM_STR);
$stmt->bindParam (":student_no", $student_no,PDO::PARAM_STR);
$stmt->bindParam(":name", $name,PDO::PARAM_STR) ;
// php-excel-reader を使用して Excel コンテンツを読み取ります
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('UTF-8'); ;read("stu.xls");
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i ) {
for ($ j = 1; $j <= 3; $j ) {
$student_no = $data->sheets[0]['cells'][$i][1];データ->シート[0]['セル'][$i][2];
$gid = $データ->シート[0]['セル'][$i][3]; 🎜>}
//Excel コンテンツがデータベースに挿入されます
$stmt->execute();
}
echo "実行成功";
echo "最後に挿入された ID :".$dbh->lastInsertId() ;
?>
Excelの量が比較的多いことを考慮して、PDOのバインド操作を使用します!