热搜:NVER node 开发 php

php将excel的数据提交到mysql

2024-09-14 16:45:02
php将excel的数据提交到mysql

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


回复讨论(解决方案)

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

插入MYSQL的代码如下:
<?php
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 "";
    
}

    
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++;
        }