PHPでのSQLファイルのデータベーステーブルへの書き込み方法

PHPでのSQLファイルのデータベーステーブルへの書き込み方法

PHPでのSQLファイルのデータベーステーブルへの書き込み方法を解説します。

PHPでのSQLファイルのデータベーステーブルへの書き込み方法


0001 /********************************************************/
0002 function wp_migration_yuzu_table_sql_load($db_info=array(),$db_repl=array())
0003 /********************************************************/
0004 {
0005  $dbHost = $db_info['dbhost'];
0006  $dbUser = $db_info['dbuser'];
0007  $dbPass = $db_info['dbpass'];
0008  $dbName = $db_info['dbname'];
0009  $table_name = $db_info['table'];
0010  $loadPath = $db_info['sqlfile'];
0011  if(file_exists($loadPath)){
0012   $buff = '';
0013   $sqlLine=array();
0014   $lines = file($loadPath);
0015   foreach ($lines as $line) {
0016    $line = trim($line);
0017    if( substr($line,0,2)=='--' ||
0018     substr($line,0,2)=='/*' ){
0019    }else{
0020     foreach($db_repl as $repl){
0021      $line = str_replace($repl[0],$repl[1],$line);
0022     }
0023     $buff.=$line;
0024     if(substr($line,-1,1)==';'){
0025      $sqlLine[] = $buff;
0026      $buff='';
0027     }
0028    }
0029   }
0030   if($buff!=''){
0031    $sqlLine[] = $buff;
0032   }
0033   $db = mysqli_connect($dbHost, $dbUser, $dbPass, $dbName);
0034   if (!$db) {
0035    return('err:sql conn error.'.mysqli_error());
0036   }
0037   mysqli_set_charset($db,'utf8');
0038   //wp_migration_yuzu_tracesub('===== sql_loadFILE:'.$loadPath.'=================================');
0039   foreach($sqlLine as $sql){
0040    //$sqlv = str_replace('),',"),\n",$sql);
0041    //wp_migration_yuzu_tracesub('--sql_load:'.$sqlv);
0042    mysqli_query($db,$sql);
0043   }
0044   mysqli_close($db);
0045   return($sqlLine);
0046  }else{
0047   return('err:sql file none.');
0048  }
0049 }
スポンサードリンク