PHP通过上传CSV批量导入到SQL SERVER中 如何将出错的行数给显示出来呢?
代码奉上,希望大大指导。
<?
session_start();
require_once("../../../inc/conn.php");
require_once("timegeshi.php");$ADD_USER_ID=$_SESSION['login_user_id'];
$ADD_USER_NAME=$_SESSION['login_user_name'];
$UNIT_CODE=$_SESSION['login_unit_code'];if($_POST['Submit']=="数据导入")
{
if($MyFile!='')
{

$fname = $_FILES['MyFile']['name'];
$do = copy($_FILES['MyFile']['tmp_name'],$fname);
$aa=explode(".",$fname); //文件扩展名
if($aa[1]=='csv')
{

if ($do) 



else
{
echo "导入数据失败"; 
}
error_reporting(0);
$fname = $_FILES['MyFile']['name'];
$handle=fopen("$fname","r");
$myrow = 0;
while($data=fgetcsv($handle,10000,","))           
{
$myrow++;
if($myrow<>1)//第一行是标题行 所以不导入
{
if(isdate($data[4])and isdate($data[8]))
{

$SHENFEN_NUM=$data[1];
$NAME=$data[2];
$COMPANY_NAME=$data[3];
$SHIGU_TIME=$data[4];
$ZHIYE=$data[5];
$CANBAO=$data[6];
$SEX=$data[7];
$AGE=$data[8];
$SHIGUDIDIAN=$data[9];
$TEL=$data[10];
$Facade_Attribution=$data[11];
$YINHE=$data[12];
}
else
{
echo "<script language='JavaScript' type='text/JavaScript'>";
echo "alert ('请检查时间格式是否为YYYY-MM-DD,再进行导入!');";
echo "location.href='index.php'";
echo "</script>";
die();

}


if($SHENFEN_NUM<>'')
{

$xt_sql="select bsid from BASIC where SHENFEN_NUM='".$SHENFEN_NUM."' and NAME='".$NAME."'";
$xt_rs=mssql_query($xt_sql);
$xt_count=mssql_num_rows($xt_rs);

if($xt_count==0) //不存在//需要按照CSV文件格式排列。
{
$insert_sql="INSERT INTO  BASIC(SHENFEN_NUM,NAME,COMPANY_NAME,SHIGU_TIME,ZHIYE,CANBAO,SEX,AGE,SHIGUDIDIAN,TEL,Facade_Attribution,YINHE,ADD_USER_ID,ADD_USER_NAME)
VALUES('$SHENFEN_NUM','$NAME','$COMPANY_NAME','$SHIGU_TIME','$ZHIYE','$CANBAO', '$SEX', '$AGE','$SHIGUDIDIAN','$TEL','$Facade_Attribution','$YINHE','$ADD_USER_ID','$ADD_USER_NAME')";
mssql_query($insert_sql);
}
}
}

}
echo $insert_sql;
die(); fclose($handle);
unlink ($fname);
echo "<script language='JavaScript' type='text/JavaScript'>";
echo "alert ('数据导入成功');";
echo "</script>";
}
else
{
echo "<script language='JavaScript' type='text/JavaScript'>";
echo "alert ('请xls文件另存为*.csv的文件格式,进行导入!');";
echo "location.href='import.php'";
echo "</script>";
}
}
}
?>timegeshi.php代码是
function isdate($str,$format="Y-m-d"){
$strArr = explode("-",$str);
if(empty($strArr)){
return false;
}
foreach($strArr as $val){
if(strlen($val)<2){
$val="0".$val;
}
$newArr[]=$val;
}
$str =implode("-",$newArr);
    $unixTime=strtotime($str);
    $checkDate= date($format,$unixTime);
    if($checkDate==$str)
        return true;
    else
        return false;
}sql servercsvphpinsert