PHP 3분 핵심 요약집
8.06. 데이터베이스 접속 파일 만들기
연서은
2024. 5. 28. 11:40
데이터베이스에 접속해서 쿼리를 실행하는 공통 파일을 생성한다.
<?php
function db_get_pdo()
{
$host = 'localhost';
$port = '3306';
$dbname = 'phtw';
$charset = 'utf8';
$username = 'phtw';
$db_pw = "1234";
$dsn = "mysql:host=$host;port=$port;dbname=$dbname;charset=$charset";
$pdo = new PDO($dsn, $username, $db_pw);
return $pdo;
}
function db_select($query, $param=array()){
$pdo = db_get_pdo();
try {
$st = $pdo->prepare($query);
$st->execute($param);
$result =$st->fetchAll(PDO::FETCH_ASSOC);
$pdo = null;
return $result;
} catch (PDOException $ex) {
return false;
} finally {
$pdo = null;
}
}
function db_insert($query, $param = array())
{
$pdo = db_get_pdo();
try {
$st = $pdo->prepare($query);
$result = $st->execute($param);
$last_id = $pdo->lastInsertId();
$pdo = null;
if ($result) {
return $last_id;
} else {
return false;
}
} catch (PDOException $ex) {
return false;
} finally {
$pdo = null;
}
}
function db_update_delete($query, $param = array())
{
$pdo = db_get_pdo();
try {
$st = $pdo->prepare($query);
$result = $st->execute($param);
$pdo = null;
return $result;
} catch (PDOException $ex) {
return false;
} finally {
$pdo = null;
}
}
위 코드를 inc/db.php 파일로 저장한다. inc 디렉토리를 생성하고 db.php 파일을 만들면 된다.
본 파일은 4.7~4.10 챕터에서 다룬 내용을 옮겨담은 것이다.
데이터베이스에 접속하고, select, insert, update 및 delete 를 하는 함수들이다.