欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php将excel的数据提交到mysql

程序员文章站 2022-04-11 11:17:06
...
如题,电脑安装的的是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 "";

}


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