fix: PDO 연결 설정 개선 (MySQL 8.0 호환)
- charset utf8 → utf8mb4 변경 - PDO 옵션을 생성자에서 직접 설정 - SET NAMES utf8mb4 초기화 명령 추가
This commit is contained in:
10
lib/mydb.php
10
lib/mydb.php
@@ -21,12 +21,14 @@ function db_connect(){ //DB연결을 함수로 정의
|
||||
$db_user = $_ENV['DB_USER'] ?? 'chandj';
|
||||
$db_pass = $_ENV['DB_PASS'] ?? '';
|
||||
|
||||
$dsn = "mysql:host=".$db_host.";dbname=".$db_name.";charset=utf8";
|
||||
$dsn = "mysql:host=".$db_host.";dbname=".$db_name.";charset=utf8mb4";
|
||||
|
||||
try {
|
||||
$pdo = new PDO($dsn,$db_user,$db_pass);
|
||||
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
|
||||
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES,FALSE);
|
||||
$pdo = new PDO($dsn, $db_user, $db_pass, [
|
||||
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
||||
PDO::ATTR_EMULATE_PREPARES => false,
|
||||
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8mb4"
|
||||
]);
|
||||
} catch (PDOException $Exception) {
|
||||
die('오류:'.$Exception->getMessage());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user