php点击按钮上传csv文件,存入mysql数据库代码怎么写

php点击按钮上传csv文件,存入mysql数据库代码怎么写?
csv文件名是表名,第一行是字段,第二行是字段的解释,第三行开始是数据,
表在mqsql数据库中是存在的,只是添加就可以,这种代码怎么写呢?
求助,php版本5.5.3

<?php
$data=file("data.csv");
$j=count($data);
for($i=2;$i<$j;$i++){
    $val="'".str_replace(",","','",trim($data[$i]))."'";
    $sql="insert into tab values(".$val.")";
    mysql_query($sql,$mylink);
}
?>//最简单的形式]

//我不了解csv 现在给你改下
<?php
$fp=fopen("a.csv","r");
while(! feof($fp)){
 $data=fgetcsv($fp);
 if(!is_array($data))
  continue;
 $sql=$p="";
 foreach($data as $val){
  $sql.=$p."'".$val."'";
  $p=",";
 }
    $sql="insert into tab values(".$sql.")";
 echo $sql;
    //mysql_query($sql,$mylink);
}
fclose($fp);
?>

追问

谢谢你的答案 可以正常生成sql 语句 可是存在乱码问题 乱码转换语句怎么写呢?

追答  foreach($data as $val){  $sql.=$p."'".mb_convert_encoding($val,'UTF-8','GBK')."'";//你数据库用的utf-8吧,转下码  $p=","; }

追问

厉害,乱码解决了,这个foreach 应该是从第一行开始读取,我想要从第3行怎么改呢?

追答 <?php$fp=fopen("a.csv","r");
$i=0;while(! feof($fp)){
 $data=fgetcsv($fp);
if(++$i<3)
   continue;//不到第三行,不执行下边语句 if(!is_array($data))  continue; $sql=$p=""; foreach($data as $val){  $sql.=$p."'".$val."'";  $p=","; }    $sql="insert into tab values(".$sql.")"; echo $sql;    //mysql_query($sql,$mylink);}fclose($fp);?>

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-15
代码太多了,你还是百度吧,因为不知道你也好怎么入库
相似回答