MariaDB 기본 클래스
개인적으로 데이터베이스 클래스를 간단하게 사용하는 방법입니다.
기본적으로 config.php 파일 내용을 아래처럼 배열로 만들어 버렸습니다.
<?
$variable = array( 'DB_' => [
'host' => '127.0.0.1:3307',
'name' => 'mariadb',
'id' => '아이디',
'pass' => '패스워드',
],
)
불러와 쉽게 사용하는방법을 예제 들자면 아래처럼 ^^;
<?php
include_once './config.php';
include_once './db.class.php';
//데이터베이스 연결
$database = new DB_class($variable);
$result = $database->qry("select * from table_name ");
$result2=$result->get_result();
var_export($result2->num_rows);
$ex2 = $result2->fetch_all(MYSQLI_ASSOC) ;
foreach ($ex2 as $le) {
print_r($le);
}
echo "<hr>";
$result = $database->qry("select * from table_name ");
$result2=$result->get_result();
var_export($result2->num_rows);
//출력
while ($ex2 = $result2->fetch_assoc()) {
var_dump($ex2);
}
//설명하자면 기본적으로 DB접속 부분은 config파일과 db class부분을 불러오는 부분과
호스트 아이디 패스워드 등을 배열화 시켜 넣어둠으로써 DB 불러올때는 조금이나마 간소화된 느낌입니다.
이후는 쿼리 보내고 난후 $result 받아서 본인 취향에 따라 결과를 요리하시면 될거 같습니다.
좀더 나아가 select문 update문 delete문등을 클래스에 같이 함수화 시켜
보안및 편리성을 좀더 높일수도 있겠습니다만 그부분은 취향을 더 탈거 같으니 ^^;
DB접근 부분만 공유해봅니다. ^^;
<?php
// Data Base
class DB_class {
public function __construct($variable) {
$db = null;
try {
$db = new mysqli($variable['DB_']['host'], $variable['DB_']['id'], $variable['DB_']['pass'], $variable['DB_']['name']);
} catch (Exception $err) {
exit($err->getMessage());
}
$this->db = &$db;
return $this->db;
}
public function qry($query,$params=''){
$stmt = $this->db->prepare($query);
if(!empty($params)) {
call_user_func_array(array($stmt,'bind_param'),$params);
}
$stmt->execute();
return $stmt;
}
public function __destruct() {
mysqli_close($this->db);
}
}
?>