CSVからMYSQLに追加するとエラーになる
お世話様です。
PHPでCSVFILEを読み込んで
MYSQLにデータを追加する処理を
作成していますが、エラーでアブエンド
してしまいます。
落ちる場所は実行するたびに変わります。
CSVの内容は120,000件くらいの
郵便番号のデータです。
試しに10,000件くらいのデータで
実行するとノーマルエンドします。
エラーメッセージは以下です。
Fatal error: Maximum execution time of 30 seconds exceeded
(ソース)
(1)
require "dbfunc.php";
if (!($fil = fopen("zipno.csv","r"))) {
die("ファイルが開けません。");
exit;
}
$objins = new sql_class;
$objins -> dbconnect();
while (!feof($fil)) {
$csvwk = fgets($fil, 1024);
$csvtb = explode(",",$csvwk);
for($i=0; $i<4; $i++){
$csvtbnew[$i] = str_replace('"', '', $csvtb[$i]);
}
$inssql = "";
$inssql .= "insert into ziptb (zipno,kenname,shiname,choname) ";
$inssql .= " values('$csvtbnew[0]','$csvtbnew[1]','$csvtbnew[2]','$csvtbnew[3]')";
$objins -> tbins($inssql);
}
$objins -> dbclose();
//ファイルを閉じる
fclose ($fil) ;
(2)クラス
class sql_class {
var $con;
var $dbsv;
var $uid;
var $dbpass;
var $dbname;
function sql_class () {
$this -> dbsv = 'localhost';
$this -> uid = 'root';
$this -> dbpass = '';
$this -> dbname = 'magicwb';
}
function dbconnect() {
$this -> con = mysql_connect($this -> dbsv,$this -> uid,$this -> dbpass);
if (!$this -> con) {
die("MySQLの接続に失敗しました。");
}
mysql_select_db($this -> dbname,$this -> con);
}
function tbins($inssql = "") {
mysql_query($inssql,$this -> con);
}
function dbclose() {
mysql_close($this -> con);
}
}
初心者ですので、よろしくお願いいたします。
お礼
ありがとうございます。 しばらく時間をおいたら使えるようになりました。