일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 킹북이초월
- 알뜰폰
- KB증권
- 리눅스
- php
- 윈도우10
- 복현오거리
- proxmox
- 아파치
- 시놀로지
- KB국민카드
- jQuery
- 알리익스프레스
- 스톤에이지
- 라즈베리파이2
- 티스토리
- 가상서버호스팅
- ConoHa
- 자바스크립트
- mysql
- iptime
- centos
- 램가스초월
- 보르비스초월
- 소비전력
- OpenWrt
- Apache
- SKT
- Rocky
- PHP-FPM
- Today
- Total
맛집 여행 캠핑 일상 생활
MySQL 기본 함수 만들기 본문
PHP 에서 사용할 mysql 기본적인 함수이다.
<?php
$DB_ADDR = "127.0.0.1";
$DB_NAME = "계정명";
$DB_PASS = "비밀번호";
$db_conn = "";
function DBOpen() {
global $db_conn;
global $DB_ADDR;
if(!$db_conn) {
$connect = mysql_connect ($DB_ADDR, $DB_NAME, $DB_PASS);
if(!$connect) {
echo "Could not connect: " . mysql_error();
exit;
}
if(!mysql_select_db($DB_NAME)) {
echo "Unable to select db: " . mysql_error();
exit;
}
$db_conn = $connect;
}
return $db_conn;
}
function DBQuery($sql) {
$connect = DBOpen();
$result = mysql_query($sql, $connect);
DBClose($connect);
return $result;
}
function DBQueryRow($sql) {
$connect = DBOpen();
$result = mysql_query($sql, $connect);
if($result) {
$row = mysql_fetch_row($result);
mysql_free_result($result);
}
else {
$row = "";
}
DBClose($connect);
return $row;
}
function DBQueryRowName($sql) {
$connect = DBOpen();
$result = mysql_query($sql, $connect);
if($result) {
$row = mysql_fetch_array($result);
mysql_free_result($result);
}
else {
$row = "";
}
DBClose($connect);
return $row;
}
function DBQueryArray($sql) {
$connect = DBOpen();
$result = mysql_query($sql, $connect);
$table_result=array();
if($result) {
$r=0;
while($row = mysql_fetch_assoc($result)){
$arr_row=array();
$c=0;
while ($c < mysql_num_fields($result)) {
$col = mysql_fetch_field($result, $c);
$arr_row[$col -> name] = $row[$col -> name];
$c++;
}
$table_result[$r] = $arr_row;
$r++;
}
mysql_free_result($result);
}
DBClose($connect);
return $table_result;
}
function DBQueryObject($sql) {
$connect = DBOpen();
$result = mysql_query($sql, $connect);
if($result) {
$row = mysql_fetch_object($result);
mysql_free_result($result);
}
else {
$row = "";
}
DBClose($connect);
return $row;
}
function DBClose($connect) {
//mysql_close($connect);
}
?>
open 시에 전역변수를 체크해서 이미 열린 세션이 있다면 다시 open할 필요가 없다.
너무 잦은 open close는 서버의 부하를 줄 뿐만 아니라 엄청난 connection 이 발생할 것이다.
그리고 close 는 위에 소스를 보면 알겠지만 주석처리를 해놓았다. 이유는 php에서 알아서 close 해주니까 일단 한번 open한 뒤에는 sql 쿼리를 한번이 되었든 여러번이 되었든지 수행할 만큼 한 다음에 나중에 자동으로 close가 되도록 한다는 의도이다.
최대한 커넥션을 줄여서 부하를 줄여보자~~
'LAMP' 카테고리의 다른 글
MySQL 런타임 상태 보기 (0) | 2016.02.02 |
---|---|
지정한 계정만 su 명령어 허용하기 (0) | 2016.01.29 |
MySQL 테이블락 설정 및 해제 (2) | 2016.01.28 |
ssh 암호 입력 없이 rsync 하는 방법 (0) | 2016.01.28 |
아파치 유저 권한 모듈 (0) | 2016.01.28 |