ぜんぶなんとかなる

ふしみの雑文

MySQLクエリファイルを読み込み1行ずつクエリ投げる

雑なコードだ、、

<?php

$filename = 'hoge.sql';
$filesize = filesize($filename);

$fp = fopen($filename,'r');
$connect = mysql_connect('host','user','pass');
mysql_select_db('dbname');
mysql_query('SET NAMES utf-8');

$line = 0;
$start = time();
$query = "";

while($str = fgets($fp,1024*1024)){
    echo (++$line)."\n ".ftell($fp) ."/". $filesize."  ... ". floor(ftell($fp)/$filesize*100)."%\n";
    $str = rtrim($str);
    $last = mb_substr($str,mb_strlen($str)-1,1);

    if($last == ";"){
        mysql_query($query.$str);
        $query = '';
        echo "affected_rows : ".mysql_affected_rows()."\n";
    }else{
        $query .= $str;
    }
    
        
}

$end = time();
echo '\n\n'.($end-$start).'sec\n';

fclose($fp);