MySQL mysqli 함수 샘플
mysql, mysqli 두 함수의 속도를 비교해 보았지만 mysqli 함수로 변경할 매리트가 있지는 않은 것 같습니다.
테스트한 환경에서는 이렇다할 속도 차이는 없는것 같습니다.
객체지향적이나 절차지향적으로 하나 이 또한 속도 차이는 없었습니다.
언제 써먹을지 모르겠지만 함수는 아래 처럼 정리하였습니다.
<?php
$db_addr = "127.0.0.1";
$db_name = "dbname";
$db_user = "user";
$db_pass = "pass";
$db_conn = "";
function DBOpen() {
global $db_conn;
global $db_addr;
global $db_name;
global $db_user;
global $db_pass;
if(!$db_conn) {
$connect = mysqli_connect($db_addr, $db_user, $db_pass, $db_name);
if(mysqli_connect_errno()) {
echo "Could not connect: " . mysqli_connect_error();
exit();
}
$db_conn = $connect;
}
return $db_conn;
}
function DBQuery($sql) {
$connect = DBOpen();
$result = mysqli_query($connect, $sql);
DBClose($connect);
return $result;
}
function DBQueryRow($sql) {
$connect = DBOpen();
$result = mysqli_query($connect, $sql);
if($result) {
$row = mysqli_fetch_row($result);
mysqli_free_result($result);
}
else {
$row = "";
}
DBClose($connect);
return $row;
}
function DBQueryRowName($sql) {
$connect = DBOpen();
$result = mysqli_query($connect, $sql);
if($result) {
$row = mysqli_fetch_array($result);
mysqli_free_result($result);
}
else {
$row = "";
}
DBClose($connect);
return $row;
}
function DBQueryArray($sql) {
$connect = DBOpen();
$result = mysqli_query($connect, $sql);
$table_result=array();
if($result) {
while($row = mysqli_fetch_assoc($result)){
$table_result[] = $row;
}
mysqli_free_result($result);
}
DBClose($connect);
return $table_result;
}
function DBQueryObject($sql) {
$connect = DBOpen();
$result = mysqli_query($connect, $sql);
if($result) {
$row = mysqli_fetch_object($result);
mysqli_free_result($result);
}
else {
$row = "";
}
DBClose($connect);
return $row;
}
function DBClose($connect) {
//mysqli_close($connect);
}
?>
위의 함수는 절차식 형식입니다.
'IT이야기' 카테고리의 다른 글
MySQL INNODB 에서 INSERT 속도 느린 문제 (0) | 2017.07.28 |
---|---|
MySQL mysql vs mysqli vs pdo Benchmark Test (0) | 2017.07.27 |
MySQL 인덱스 없는 조인이 너무 많습니다 (0) | 2017.07.13 |
VNC Viewer 원격접속 (0) | 2017.07.02 |
MariaDB 암호화 복호화 방법 (0) | 2017.06.30 |