最優(yōu)良人 » sql http://www.dgkai.cn/blog 中山php|最優(yōu)網(wǎng)絡 Mon, 13 May 2013 04:56:43 +0000 en hourly 1 http://wordpress.org/?v=3.1.4 phpmyadmin導出的sql如何通過php導入 http://www.dgkai.cn/blog/view-374.html http://www.dgkai.cn/blog/view-374.html#comments Mon, 04 Jun 2012 04:15:01 +0000 lin http://www.dgkai.cn/blog/?p=374 以下函數(shù)可以直接把從phpmyadmin導出的sql文件直接通過php插入數(shù)據(jù)庫:

//$file表示通過讀取sql文件返回的字符串,比如$file2=file_get_contents('db.sql');

function import($file2){

$Db = new Db();
$file2=explode("\n",$file2);//將文件內容按行讀入到數(shù)組

$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];//將去掉注釋的文件內容按行讀入數(shù)組$arr,數(shù)組每個元素對應一行
}
$read=implode("\n",$arr); //重新組織文件內容到一個字符串,(按照原來分好的一行一行的)
$sql=str_replace("\r",'',$read);//去掉"\r(回車符)"

$detail=explode(";\n",$sql);
//將經(jīng)上述整理過的文件內容再次按一條完整的sql語句(以;和\n分隔)導入到數(shù)組$detail,
//此時數(shù)組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);//去掉前后空格
//現(xiàn)在的$sql
$Db->query($sql);

}

}

]]>
http://www.dgkai.cn/blog/view-374.html/feed 21