[原创]mysql数据的导入(绝对原创) |
///////////////////////////////////////////////////////
下面是一个函数,可放入一个预先编制好类中,然后再调用
导入的文件为csv文件
///////////////////////////////////////////////////////
function filein($databasename,$tablename,$filename){
//往某数据库中导入某文件
////////// 调用方式为 //////////////////////////////////
//////// include "inc/up.inc";
//////// $bb=new myup;
//////// $databasename="cs";
//////// $tablename="ceshi";
//////// $filename="temp/aaa.csv"; //含路经
//////// $bb->filein($databasename,$tablename,$filename);
////////////////////////////////////////////////////////
// include "inc/mysql.inc";
$aa=new mysql;
// $databasename="cs";
$aa->link($databasename);
$row=1;
// $filename="aaa.csv";
$fp = fopen($filename,"r");
///从数据表中获取字段名字并存放到数组中
// $tablename="ceshi";
$query="show columns from $tablename";
$result=mysql_query($query);
$i=0;
while($row = mysql_fetch_row($result)) {
$i++;
$colname[$i]=$row[0]; //0显示字段名,1显示字段长度,2显示是否允许为空
}
//
$m=0;
while ($data=fgetcsv($fp,30000, ",")) {
$m++;
if ($m>1){
$num = count($data);
//根据标的字段自动生成sql语句
$query="insert into ceshi(";
for ($j=1;$j<$i;$j++){
if ($j<$i-1){
$query.=$colname[$j+1].",";
}else{
$query.=$colname[$j+1]."";
} //else
} //for
$query.=") values(";
for ($j=1;$j<$i;$j++){
if ($j<$i-1){
$query.="'".$data[$j]."',";
}else{
$query.="'".$data[$j]."'";
} //else
}//for
$query.=")";
$aa->excu($query);
}//if ($i>1)
} //while
fclose($fp);
} //filein |
|
|