엑셀올린거(파일업로드) 디비에 안들어갑니다 ㅠㅠ 정보
엑셀올린거(파일업로드) 디비에 안들어갑니다 ㅠㅠ본문
혹시 디비명령문이 잘못된건가요??
테이블구조는 이렇구요
필드 종류 데이터정렬방식 보기 Null 기본값 추가
idx int(11) 아니오 None AUTO_INCREMENT
sale int(11) 예 0
gidx int(11) 예 0
lname varchar(50) utf8_general_ci 예 NULL
sdate date 예 NULL
time datetime 예 NULL
1_name varchar(30) utf8_general_ci 예 NULL
team1 float 예 NULL
team2 varchar(30) utf8_general_ci 예 NULL
team3 float 예 NULL
draw float 예 NULL
sco char(3) utf8_general_ci 예
sco2 char(3) utf8_general_ci 예
www char(4) utf8_general_ci 예
state char(1) utf8_general_ci 예
notice varchar(255) utf8_general_ci 예 NULL
cate tinyint(2) 예 0
테스트테이블로 해봤을때는 잘되는데 실제파일에서 필드명만바꾼건데.. 디비에 안들어갑니다
도와주세요 ㅠㅠ 부탁드립니다~^^
아래는 소스구요
<?
02 $sub_menu = "100999";
03 include_once("./_common.php");
04
05 auth_check($auth[$sub_menu], "r");
06
07 if (empty($_POST)) {
08 $upload_max_filesize = ini_get('upload_max_filesize');
09 alert("파일 또는 글내용의 크기가 서버에서 설정한 값을 넘어 오류가 발생하였습니다.\\n\\npost_max_size=".ini_get('post_max_size')." , upload_max_filesize=$upload_max_filesize\\n\\n서버관리자에게 문의 바랍니다.");
10 }
11
12 require_once "$g4[admin_path]/phpExcelReader/Excel/reader.php";
13
14 if(!$_FILES[excel][name]) alert('첨부파일을 올려주세요.');
15 if(substr($_FILES[excel][name], -4) != '.xls') alert('첨부파일은 xls형식으로 올려주세요.');
16
17 $data = new Spreadsheet_Excel_Reader();
18
19 // Set output Encoding. - 원하시는 출력 문자종류를 설정
20 $data->setOutputEncoding('euc-kr');
21
22 $data->read($_FILES[excel][tmp_name]);
23 error_reporting(E_ALL ^ E_NOTICE);
24
25 $insert = $update = 0;
26
27
28 for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) {//첫줄이 제목줄이여서 2부터 시작합니다. 내용만으로 이루어지면 1, 제목줄이 길면 그만큼 넘기고 시작하시면 됩니다.
29 if(!trim($data->sheets[0]['cells'][$i][1])) continue;
30
31 // 실행하고자 하는 디비명령문을 작성합니다.(신규시)
32 $sql = "insert into pro1 set idx='".$data->sheets[0]['cells'][$i][1]."', sale = '".$data->sheets[0]['cells'][$i][2]."', gidx = '".$data->sheets[0]['cells'][$i][3]."', lname = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][4])."', sdate = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][5])."', time = '".addslashes($data->sheets[0]['cells'][$i][6])."', 1_name = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][7])."', team1 = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][8])."', team2 = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][9])."', team3 = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][10])."', draw = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][11])."', sco = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][12])."', sco2 = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][13])."', www = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][14])."', state = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][15])."', notice = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][16])."', cate = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][17])."'";
33
34 if(!sql_query($sql, false)) {// 신규입력 실패시 수정 문으로 전환합니다.
35 sql_query("update test set fa_1 = '".$data->sheets[0]['cells'][$i][2]."', fa_2 = '".$data->sheets[0]['cells'][$i][3]."', fa_3 = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][4])."', fa_4 = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][5])."', fa_5 = '".addslashes($data->sheets[0]['cells'][$i][6])."' where fa_6='".$data->sheets[0]['cells'][$i][1]."'", false);
36 $update++;//수정시
37 } else $insert++;//신규성공시
38
39 if (mysql_error()) {
40 echo $i . "줄 => ";
41 echo "쿼리문 오류 : " . mysql_error() . "";
42 echo "실제 쿼리문 : " . $sql;
43 }
44 }
45
46
47 /*//단순내용 출력시 이 부분 주석을 풀어주세요.
48 for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
49 for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
50 echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";
51 }
52 echo "\n";
53
54 }
55 */
56 alert("신규 : ".number_format($insert)." 건, 수정 : ".number_format($update)." 건, 총 ".number_format($insert+$update)." 건입니다.\\n\\n확인후 틀리다면 데이터를 분리해서 입력해주세요.", "excel.php");
테이블구조는 이렇구요
필드 종류 데이터정렬방식 보기 Null 기본값 추가
idx int(11) 아니오 None AUTO_INCREMENT
sale int(11) 예 0
gidx int(11) 예 0
lname varchar(50) utf8_general_ci 예 NULL
sdate date 예 NULL
time datetime 예 NULL
1_name varchar(30) utf8_general_ci 예 NULL
team1 float 예 NULL
team2 varchar(30) utf8_general_ci 예 NULL
team3 float 예 NULL
draw float 예 NULL
sco char(3) utf8_general_ci 예
sco2 char(3) utf8_general_ci 예
www char(4) utf8_general_ci 예
state char(1) utf8_general_ci 예
notice varchar(255) utf8_general_ci 예 NULL
cate tinyint(2) 예 0
테스트테이블로 해봤을때는 잘되는데 실제파일에서 필드명만바꾼건데.. 디비에 안들어갑니다
도와주세요 ㅠㅠ 부탁드립니다~^^
아래는 소스구요
<?
02 $sub_menu = "100999";
03 include_once("./_common.php");
04
05 auth_check($auth[$sub_menu], "r");
06
07 if (empty($_POST)) {
08 $upload_max_filesize = ini_get('upload_max_filesize');
09 alert("파일 또는 글내용의 크기가 서버에서 설정한 값을 넘어 오류가 발생하였습니다.\\n\\npost_max_size=".ini_get('post_max_size')." , upload_max_filesize=$upload_max_filesize\\n\\n서버관리자에게 문의 바랍니다.");
10 }
11
12 require_once "$g4[admin_path]/phpExcelReader/Excel/reader.php";
13
14 if(!$_FILES[excel][name]) alert('첨부파일을 올려주세요.');
15 if(substr($_FILES[excel][name], -4) != '.xls') alert('첨부파일은 xls형식으로 올려주세요.');
16
17 $data = new Spreadsheet_Excel_Reader();
18
19 // Set output Encoding. - 원하시는 출력 문자종류를 설정
20 $data->setOutputEncoding('euc-kr');
21
22 $data->read($_FILES[excel][tmp_name]);
23 error_reporting(E_ALL ^ E_NOTICE);
24
25 $insert = $update = 0;
26
27
28 for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) {//첫줄이 제목줄이여서 2부터 시작합니다. 내용만으로 이루어지면 1, 제목줄이 길면 그만큼 넘기고 시작하시면 됩니다.
29 if(!trim($data->sheets[0]['cells'][$i][1])) continue;
30
31 // 실행하고자 하는 디비명령문을 작성합니다.(신규시)
32 $sql = "insert into pro1 set idx='".$data->sheets[0]['cells'][$i][1]."', sale = '".$data->sheets[0]['cells'][$i][2]."', gidx = '".$data->sheets[0]['cells'][$i][3]."', lname = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][4])."', sdate = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][5])."', time = '".addslashes($data->sheets[0]['cells'][$i][6])."', 1_name = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][7])."', team1 = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][8])."', team2 = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][9])."', team3 = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][10])."', draw = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][11])."', sco = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][12])."', sco2 = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][13])."', www = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][14])."', state = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][15])."', notice = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][16])."', cate = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][17])."'";
33
34 if(!sql_query($sql, false)) {// 신규입력 실패시 수정 문으로 전환합니다.
35 sql_query("update test set fa_1 = '".$data->sheets[0]['cells'][$i][2]."', fa_2 = '".$data->sheets[0]['cells'][$i][3]."', fa_3 = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][4])."', fa_4 = '".str_replace(' ', '', $data->sheets[0]['cells'][$i][5])."', fa_5 = '".addslashes($data->sheets[0]['cells'][$i][6])."' where fa_6='".$data->sheets[0]['cells'][$i][1]."'", false);
36 $update++;//수정시
37 } else $insert++;//신규성공시
38
39 if (mysql_error()) {
40 echo $i . "줄 => ";
41 echo "쿼리문 오류 : " . mysql_error() . "";
42 echo "실제 쿼리문 : " . $sql;
43 }
44 }
45
46
47 /*//단순내용 출력시 이 부분 주석을 풀어주세요.
48 for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
49 for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
50 echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";
51 }
52 echo "\n";
53
54 }
55 */
56 alert("신규 : ".number_format($insert)." 건, 수정 : ".number_format($update)." 건, 총 ".number_format($insert+$update)." 건입니다.\\n\\n확인후 틀리다면 데이터를 분리해서 입력해주세요.", "excel.php");
댓글 전체
엑셀이 97-2003 형식으로 저장된건지 확인해보세요
엑셀파일문제는 아닌거 같아요 ㅠㅠ