나는 php로 개발을 할때 DB연결을 해야 할때가 있다.
DB정보는 비공개로 진행을 해야 하기 때문에 보통 config 파일에 저장을 한다.
config.php
$DB = @mysqli_connect('${ip}', '${id}', '${password}', '${database name}');
if (!$DB) {
$err = mysqli_connect_error();
$errno = mysqli_connect_errno();
print "$errno: $err\n";
exit();
}
위 와 같이 config에서 DB 연결을 하고 다른 php 파일에서 위 config 파일을 inclue 하고 사용을 한다.
근데 외부 에서 DB에 query를 날릴려고 하면 그 function 안에서 global $DB 를 선원 해줘야만 DB 사용이 된다.
너무 불편했다. 그래서 connector 를 만들어 보았당.
func.php
<?php
include(~~~~/config.php);
function dbConnector ($value) {
global $DB;
return $DB->query($value);
}
?>
위 와 같이 dbConnector 함수만 불러서 쿼리를 날리니 global $DB 선언을 안해줘도 쿼리가 작동 했다..ㅎㅎ;;
index.php
<?php
include(~~~/func.php);
$q = "SELECT * FROM `${example_table}`";
$result = dbConnector($q);
$tmp = $result->fetch_assoc();
var_dump($tmp);
?>
뭐 이런식으로 쓰기가 가능하다..ㅎ;