如題,電腦安裝的的是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 <= $data->sheets[0]['numRows']; $i++) {
for ($j = 1; $j <= $data->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++;
}