INSERT + UPDATE



INSERT를 실행하는데 값을 비교하여 변경사항이 있는 경우 UPDATE를 실행



INSERT into tbl (column1, column2, ...) VALUES(value1, value2, ...) ON DUPLICATE KEY UPDATE column1='value1', column2='value2', ...;



$q = "INSERT INTO $bbs(no, dept, name, grade, request, content, state, succ_date) 

VALUES ('$no', '$dept', '$name', '$grade', '$request', '$content', '$state', '$succ_date')

ON DUPLICATE KEY UPDATE 

dept='$dept', name='$name', grade='$grade', request='$request', content='$content', state='$state', succ_date='$succ_date'";


$result = $mysqli->query($q);



'Server - Linux > APM' 카테고리의 다른 글

[PHP] 엑셀 파싱 (PHPExcel.php)  (0) 2016.10.27
[MySql] 예약어  (0) 2016.10.24
[MySql] PHP MYSQLI_ASSOC / MYSQLI_NUM 차이점  (0) 2016.10.19
[MySql] 테이블 컬럼(시간) 표시 방법  (0) 2016.10.04
[APM] 설치 및 설정  (0) 2016.09.12

엑셀 파싱 (PHPExcel.php)


PHPExcel 다운로드 후 require_once로 추가 한 후 작업


<?php

require_once $_SERVER['DOCUMENT_ROOT'].'/database/preset.php';

//PHPExcel, IOFactory Import

require_once $_SERVER['DOCUMENT_ROOT'].'/board/Excel/Classes/PHPExcel.php';

require_once $_SERVER['DOCUMENT_ROOT'].'/board/Excel/Classes/PHPExcel/IOFactory.php';

?>


<?php

$objPHPExcel = new PHPExcel();

$filename = $_SERVER['DOCUMENT_ROOT'].'/data/excel/'.$filename;

try{

//업로드 된 엑셀 형식에 맞는 Reader객체를 만든다.

$objReader = PHPExcel_IOFactory::createReaderForFile($filename);

//읽기전용으로 설정

$objReader->setReadDataOnly(true);

//엑셀파일을 읽는다.

$objExcel = $objReader->load($filename);

//첫번째 시트를 선택

$objExcel->setActiveSheetIndex(0);

$objWorksheet = $objExcel->getActiveSheet();

echo "<table>";

//$rowIterator = $objWorksheet->getRowIterator();

//여기 주석은 전체 출력을 해주는 부분!! (참고)

//foreach($rowIterator as $row){ //모든 행에 대해서

//echo "<tr>";

//$cellIterator = $row->getCellIterator();

//$cellIterator->setIterateOnlyExistingCells(false);

//foreach($cellIterator as $cell){ //해당 열의 모든 셀에 대해서

//echo "<td>",iconv("UTF-8", "EUC-KR", $cell->getValue()), "</td>";

//}

//echo "</tr>";

//}

$maxRow = $objWorksheet->getHighestRow();

for($i = 2; $i <= $maxRow; $i++){ //두번째 행부터 읽는다.

echo "<tr>";

$dept = $objWorksheet->getCell('B' . $i)->getValue(); // 1번째 열

$name = $objWorksheet->getCell('C' . $i)->getValue(); // 2번째 열

$grade = $objWorksheet->getCell('D' . $i)->getValue(); // 3번째 열

$request = $objWorksheet->getCell('E' . $i)->getValue(); // 4번째 열

$content = $objWorksheet->getCell('F' . $i)->getValue(); // 5번째 열

$state = $objWorksheet->getCell('G' . $i)->getValue(); // 6번째 열

$succ_date = $objWorksheet->getCell('I' . $i)->getValue(); // 7번째 열

echo "<td>".$dept."</td>";

echo "<td>".$name."</td>";

echo "<td>".$grade."</td>";

echo "<td>".$request."</td>";

echo "<td>".$content."</td>";

echo "<td>".$state."</td>";

echo "<td>".$succ_date."</td>";

echo "</tr>";

$q = "INSERT INTO $bbs (dept, name, grade, request, content, state, succ_date) values('$dept', '$name', '$grade', '$request', '$content', '$state', '$succ_date')";

$result = $mysqli->query($q);

}

echo "</table>";


}catch(exception $e){

echo "엑셀파일을 읽는 도중 오류가 발생하였습니다.";

}

​?>



'Server - Linux > APM' 카테고리의 다른 글

[MySql] INSERT + UPDATE  (0) 2016.10.27
[MySql] 예약어  (0) 2016.10.24
[MySql] PHP MYSQLI_ASSOC / MYSQLI_NUM 차이점  (0) 2016.10.19
[MySql] 테이블 컬럼(시간) 표시 방법  (0) 2016.10.04
[APM] 설치 및 설정  (0) 2016.09.12


MySql 예약어


WordWordWord
ADDALLALTER
ANALYZEANDAS
ASCASENSITIVEAUTO_INCREMENT
BDBBEFOREBERKELEYDB
BETWEENBIGINTBINARY
BLOBBOTHBY
CALLCASCADECASE
CHANGECHARCHARACTER
CHECKCOLLATECOLUMN
COLUMNSCONDITIONCONNECTION
CONSTRAINTCONTINUECREATE
CROSSCURRENT_DATECURRENT_TIME
CURRENT_TIMESTAMPCURSORDATABASE
DATABASESDAY_HOURDAY_MICROSECOND
DAY_MINUTEDAY_SECONDDEC
DECIMALDECLAREDEFAULT
DELAYEDDELETEDESC
DESCRIBEDETERMINISTICDISTINCT
DISTINCTROWDIVDOUBLE
DROPELSEELSEIF
ENCLOSEDESCAPEDEXISTS
EXITEXPLAINFALSE
FETCHFIELDSFLOAT
FORFORCEFOREIGN
FOUNDFRAC_SECONDFROM
FULLTEXTGRANTGROUP
HAVINGHIGH_PRIORITYHOUR_MICROSECOND
HOUR_MINUTEHOUR_SECONDIF
IGNOREININDEX
INFILEINNERINNODB
INOUTINSENSITIVEINSERT
INTINTEGERINTERVAL
INTOIO_THREADIS
ITERATEJOINKEY
KEYSKILLLEADING
LEAVELEFTLIKE
LIMITLINESLOAD
LOCALTIMELOCALTIMESTAMPLOCK
LONGLONGBLOBLONGTEXT
LOOPLOW_PRIORITYMASTER_SERVER_ID
MATCHMEDIUMBLOBMEDIUMINT
MEDIUMTEXTMIDDLEINTMINUTE_MICROSECOND
MINUTE_SECONDMODNATURAL
NOTNO_WRITE_TO_BINLOGNULL
NUMERICONOPTIMIZE
OPTIONOPTIONALLYOR
ORDEROUTOUTER
OUTFILEPRECISIONPRIMARY
PRIVILEGESPROCEDUREPURGE
READREALREFERENCES
REGEXPRENAMEREPEAT
REPLACEREQUIRERESTRICT
RETURNREVOKERIGHT
RLIKESECOND_MICROSECONDSELECT
SENSITIVESEPARATORSET
SHOWSMALLINTSOME
SONAMESPATIALSPECIFIC
SQLSQLEXCEPTIONSQLSTATE
SQLWARNINGSQL_BIG_RESULTSQL_CALC_FOUND_ROWS
SQL_SMALL_RESULTSQL_TSI_DAYSQL_TSI_FRAC_SECOND
SQL_TSI_HOURSQL_TSI_MINUTESQL_TSI_MONTH
SQL_TSI_QUARTERSQL_TSI_SECONDSQL_TSI_WEEK
SQL_TSI_YEARSSLSTARTING
STRAIGHT_JOINSTRIPEDTABLE
TABLESTERMINATEDTHEN
TIMESTAMPADDTIMESTAMPDIFFTINYBLOB
TINYINTTINYTEXTTO
TRAILINGTRUEUNDO
UNIONUNIQUEUNLOCK
UNSIGNEDUPDATEUSAGE
USEUSER_RESOURCESUSING
UTC_DATEUTC_TIMEUTC_TIMESTAMP
VALUESVARBINARYVARCHAR
VARCHARACTERVARYINGWHEN
WHEREWHILEWITH
WRITEXORYEAR_MONTH
ZEROFILL  


'Server - Linux > APM' 카테고리의 다른 글

[MySql] INSERT + UPDATE  (0) 2016.10.27
[PHP] 엑셀 파싱 (PHPExcel.php)  (0) 2016.10.27
[MySql] PHP MYSQLI_ASSOC / MYSQLI_NUM 차이점  (0) 2016.10.19
[MySql] 테이블 컬럼(시간) 표시 방법  (0) 2016.10.04
[APM] 설치 및 설정  (0) 2016.09.12

MYSQLI_ASSOC / MYSQLI_NUM 차이점



$row = $result->fetch_array(MYSQLI_ASSOC); //row["password"] 와 같이 컬럼명으로 값을 불러옴

$row = $result->fetch_array(MYSQLI_NUM); //row["0"] 와 같이 인덱스로 값을 불러옴


*참고 - $row = $result->fetch_array(MYSQLI_BOTH);      //둘다 사용가능!

'Server - Linux > APM' 카테고리의 다른 글

[PHP] 엑셀 파싱 (PHPExcel.php)  (0) 2016.10.27
[MySql] 예약어  (0) 2016.10.24
[MySql] 테이블 컬럼(시간) 표시 방법  (0) 2016.10.04
[APM] 설치 및 설정  (0) 2016.09.12
[APM] httpd restartServerName오류  (0) 2016.09.12

테이블 컬럼(시간) 표시 방법



alter table Intranet_User add created TIMESTAMP not null DEFAULT CURRENT_TIMESTAMP;



'Server - Linux > APM' 카테고리의 다른 글

[PHP] 엑셀 파싱 (PHPExcel.php)  (0) 2016.10.27
[MySql] 예약어  (0) 2016.10.24
[MySql] PHP MYSQLI_ASSOC / MYSQLI_NUM 차이점  (0) 2016.10.19
[APM] 설치 및 설정  (0) 2016.09.12
[APM] httpd restartServerName오류  (0) 2016.09.12


설치 및 설정


APM 설치 확인

rpm -qa | grep httpd

rpm -qa | grep php

rpm -qa | grep mysql


패키지 설치

yum -y install httpd php mysql mysql-server gd gd-devel php-gd php-mysql


아파치 실행

service httpd start


부팅 후 자동 시작 설정

chkconfig httpd on


아파치 재실행

service httpd restart


mysqld 실행

service mysqld start


mysql 관리자 패스워드 지정

mysqladmin -u root password 'password'


mysql 접속

mysql -u root -p


부팅 후 자동 시작 설정

chkconfig mysqld on


mysql 재실행

service mysqld restart


PHP 문서 서비스 설정파일 수정

vi /etc/httpd/conf/httpd.conf


402줄 php.htm 인덱스 파일 추가

DirectoryIndex index.php index.html index.html index.html.var

765줄 php, php소스 파일 MIME 형식 설정

AddType application/x-tar .tgz

AddType application/x-httpd-php  .php

AddType application/x-httpd-php-source  .phps


vi /etc/php.ini

229줄 PHP 태그 설정

short_open_tag = Off => On으로 변경


service httpd restart

httpd restartServerName오류



다음과 같이 오류가 난다면(?)



vi /etc/httpd/conf/httpd.conf

다음과 같이 추가해주면 됨


'Server - Linux > APM' 카테고리의 다른 글

[PHP] 엑셀 파싱 (PHPExcel.php)  (0) 2016.10.27
[MySql] 예약어  (0) 2016.10.24
[MySql] PHP MYSQLI_ASSOC / MYSQLI_NUM 차이점  (0) 2016.10.19
[MySql] 테이블 컬럼(시간) 표시 방법  (0) 2016.10.04
[APM] 설치 및 설정  (0) 2016.09.12

+ Recent posts