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 }