php将excel的数据提交到mysql

WBOY
풀어 주다: 2016-06-23 14:12:27
원래의
818명이 탐색했습니다.

如题,电脑安装的的是WIN7系统,提交时出现错误:The filename C:\Windows\Temp\phpEA26.tmp is not readable
或者提供一段插入的代码也可。


回复讨论(解决方案)

权限不够?
php.ini 中指定 upload_tmp_dir 到合适的目录

插入MYSQL的代码如下:
error_reporting(E_ALL ^ E_NOTICE);
require_once 'conn.php';
mysql_query("SET NAMES 'gbk'");

if($_POST){
$Import_TmpFile = $_FILES['file']['tmp_name'];
require_once 'Excel/reader.php';
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('gbk');
$data->read($Import_TmpFile);
$array =array();
    
for ($i = 1; $i sheets[0]['numRows']; $i++) {
    for ($j = 1; $j sheets[0]['numCols']; $j++) {
    $array[$i][$j] = $data->sheets[0]['cells'][$i][$j];
    }
}
sava_data($array);



function sava_data($array){    
    $count =0;    
    $total =0;
    foreach( $array as $tmp){    
        $Isql = "Select t_id from test where t_id='".$tmp[1]."'";
        $sql = "Insert into test (t_title,t_date) value(";
        $sql.="'".$tmp[1]."','".$tmp[2]."')";

    
        if(! mysql_num_rows(mysql_query($Isql) )){
        if( mysql_query($sql) ){
            $count++;
        }
        }
        $total++;
    }
    echo "<script>alert('共有".$total."条数据,导入".$count."条数据成功');location='exceld.php';</script>";
    
}

    
function TtoD($text){
    $jd1900 = GregorianToJD(1, 1, 1900)-2;
    $myJd = $text+$jd1900;
    $myDate = JDToGregorian($myJd);
    $myDate = explode('/',$myDate);
    $myDateStr = str_pad($myDate[2],4,'0', STR_PAD_LEFT)."-".str_pad($myDate[0],2,'0', STR_PAD_LEFT)."-".str_pad($myDate[1],2,'0', STR_PAD_LEFT);
    return $myDateStr;        
    }
?>

没出现什么错误,但就是无法插入数据,帮忙看下是什么原因??

直接拼sql出来

自己一步一步调试看程序进入哪里了

        if(! mysql_num_rows(mysql_query($Isql) )){
        if( mysql_query($sql) ){   //如果进入这里了,则可以用 echo mysql_error(); 查看出什么错了
            $count++;
        }

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿