php讀取sql檔案匯入資料庫(支援phpmyadmin匯出)_PHP教程

來源:互聯網
上載者:User
php讀取sql檔案匯入資料庫(支援phpmyadmin匯出)像這種php讀取sql檔案匯入資料庫情況,用得最多的就是Database Backup與還原來了,原理很簡單按指定格式匯入成.sql檔案或利用phpmyadmin匯出都可以用本程式來實現匯入哦。

php教程讀取sql檔案匯入資料庫教程(支援phpmyadmin匯出)
像這種php讀取sql檔案匯入資料庫情況,用得最多的就是Database Backup與還原來了,原理很簡單按指定格式匯入成.sql檔案或利用phpmyadmin匯出都可以用本程式來實現匯入哦。
*/

function into_sql($file)
{
global $mysql教程_host,$mysql_user,$mysql_password,$mysql_db,$mysql_table_prefix,$dbcharset;//擷取資料庫配置資訊
mysql_connect($mysql_host,$mysql_user,$mysql_password);
mysql_select_db($mysql_db);

if( mysql_get_server_info() < '4.1' )
//返回 link_identifier 所使用的伺服器版本。如果省略 link_identifier,則使用上一個開啟的串連。
{
$dbcharset='';//設定字元集,如果mysql版本低於4.1,則不設定字元集資訊
}
if(empty($dbcharset))
{
$dbcharset='gbk';
}
$dbcharset && mysql_query("set names '$dbcharset'");// 設定字元集
if( mysql_get_server_info() > '5.0' )
{
mysql_query("set sql_mode=''");
}
$file2=file_get_contents($file);
$file2=iconv("utf-8","gbk",$file2);
$file2=str_replace("seo教程_",$mysql_table_prefix,$file2);//將檔案中資料庫表首碼換成使用者設定的首碼

$file2=explode("n",$file2);//將檔案內容按行讀入到數組
$c1=count($file2);
for($j=0;$j<$c1;$j++)
{
$ck=substr($file2[$j],0,4);//取每行的前4個字元
if( ereg("#",$ck)||ereg("--",$ck) )//去掉注釋
{
continue;
}
$arr[]=$file2[$j];//將去掉注釋的檔案內容按行讀入數組$arr,數組每個元素對應一行
}
$read=implode("n",$arr); //重新組織檔案內容到一個字串,(按照原來分好的一行一行的)
$sql=str_replace("r",'',$read);//去掉"r(斷行符號符)"
$detail=explode(";n",$sql);
//將經上述整理過的檔案內容再次按一條完整的sql語句(以;和n分隔)匯入到數組$detail,
//此時數組detail的每個元素對應一條完整的sql語句
$count=count($detail);
for($i=0;$i<$count;$i++)
{
$sql=str_replace("r",'',$detail[$i]);//去掉每行sql中的斷行符號符
$sql=str_replace("n",'',$sql);//去掉分行符號
$sql=trim($sql);//去掉前後空格
//現在的$sql
if($sql)
{
if(eregi("create table",$sql))//如果當前的sql語句是建立新表,則考慮版本相容,以及重設字元集
{
//$mysqlv=mysql_get_server_info();
$sql=preg_replace("/default charset=([a-z0-9]+)/is","",$sql);//去除原來的字元集設定資訊
$sql=preg_replace("/type=myisam/is","engine=myisam",$sql);
if($dbcharset)
{
$sql=str_replace("engine=myisam"," engine=myisam default charset=$dbcharset ",$sql);
}
if(mysql_get_server_info()<'4.1')
{
$sql=preg_replace("/engine=myisam/is","type=myisam",$sql);//
}
}
mysql_query($sql);
}
}
}

?>

http://www.bkjia.com/PHPjc/630792.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/630792.htmlTechArticlephp讀取sql檔案匯入資料庫(支援phpmyadmin匯出)像這種php讀取sql檔案匯入資料庫情況,用得最多的就是Database Backup與還原來了,原理很簡單按...

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.