MySQL MySQL데이터베이스에 PDO(PHP Data Object) 사용
페이지 정보
본문
PDO(PHP Data Object) 는 이기종 데이터베이스에 접근하는 공통 API를 제공하는 것을 목적으로 만들어 졌습니다. mysqli 는 객체 스타일과, 절차적 스타일의 API를 제공하는데 비해 PDO 는 객체 스타일의 API 만을 제공합니다. PDO 는 예전에 사용하던 mysql API 와는 달리 Prepared Statement 를 제공하므로 SQL Injection 방어에 사용될 수 있습니다.
<?php
// 공통
$db_host = ''; // 127.0.0.1 또는 localhost ( localhost 를 사용하면 500 에러가 나기도 합니다 )
$db_name = '';
$db_user = '';
$db_pass = '';
$db_charset = 'utf8';
$dsn = "mysql:host={$db_host};dbname={$db_name};charset={$db_charset}";
// 샘플 1.
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
try {
$pdo = new PDO($dsn, $db_user, $db_pass, $options);
echo "connection success";
} catch (\PDOException $e) {
throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
// 샘플 2.
try {
$db = new PDO($dsn, $db_name, $db_pass);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "데이터베이스 연결 성공!!<br/>";
} catch(PDOException $e) {
echo $e->getMessage();
}
//샘플 3.
$PDO_connect = new PDO("mysql:host={$db_host};dbname={$db_name}", "{$db_user}", "{$db_password}");
?>
참고자료
https://offbyone.tistory.com/1
<?php
// 공통
$db_host = ''; // 127.0.0.1 또는 localhost ( localhost 를 사용하면 500 에러가 나기도 합니다 )
$db_name = '';
$db_user = '';
$db_pass = '';
$db_charset = 'utf8';
$dsn = "mysql:host={$db_host};dbname={$db_name};charset={$db_charset}";
// 샘플 1.
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
try {
$pdo = new PDO($dsn, $db_user, $db_pass, $options);
echo "connection success";
} catch (\PDOException $e) {
throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
// 샘플 2.
try {
$db = new PDO($dsn, $db_name, $db_pass);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "데이터베이스 연결 성공!!<br/>";
} catch(PDOException $e) {
echo $e->getMessage();
}
//샘플 3.
$PDO_connect = new PDO("mysql:host={$db_host};dbname={$db_name}", "{$db_user}", "{$db_password}");
?>
참고자료
https://offbyone.tistory.com/1
댓글목록
등록된 댓글이 없습니다.