
1. MySQL에 PD0를 사용한 데이터 베이스 연결
아래 코드는 MySQL 데이터베이스에 PD0을 사용해 연결하는 방법을 보여줍니다.
<?php
// 데이터베이스 연결 정보 설정
$host = "localhost"; // 데이터베이스 호스트
$db = 'your_database'; // 데이터베이스 이름
$user = 'your_username'; // 사용자 이름
$pass = 'your_password'; // 비밀번호
$charset = 'utf8mb4'; // 문자 집합
// DSM(Data Source Name) 생성
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
try {
// PD0 객체 생성
$pdo = new PDO($dsn, $user, $pass, $options);
echo "데이터베이스에 성공적으로 연결되었습니다.<br>";
} catch(\PDOException $e) {
echo "데이터베이스 연결 실패: " . $e->getMessage();
}
?>
- 파일 인코딩: 파일을 UTF-8로 저장했는지 확인
- PHP 버전: 사용 중인 PHP 버전이 해당 코드와 호환되는지 확인합니다
2. MySQL연동전 테이블 만들기
위 코드에서 Mysql을 연결해서 php로 데이터베이스를 불러오는 방법을 알아보았습니다. 위 코드는 MySQL의 흐름을 어느정도 이해해야 코드를 적용할 수 있습니다. MySQL을 실행하기위해 아래 포스팅을 참고해 MySQL을 세팅합니다.
[MySQL] 2장. MySQL VSCODE 설치법과 기본개념
[MySQL] 1장. MySQL은 무엇인가?1995년 5월 23일 오라클이 개발한 데이터베이스 관리시스템인 MYSQL이 발표됩니다. MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)으로, 데이터 저장 및 관리에
thinky.tistory.com
- 터미널에서 mysql 접속하기
mysql -u root -p
- 유저 만들기
CREATE USER 'pace'@'localhost' IDENTIFIED BY '1234';
- 사용자 권한 확인
SELECT User, Host FROM mysql.user;
- 권한 부여
GRANT ALL PRIVILEGES ON koras02.* TO 'pace'@'localhost';
- 권한 변경 사항 적용
FLUSH PRIVILEGES;
- MySQL 종료
EXIT;
3. 쿼리 실행하기
아래 데이터베이스를 사용해 데이터 삽입 데이터 조회를 할 수 있습니다.
<?php
// 데이터베이스 연결 정보 설정
$host = "localhost"; // 데이터베이스 호스트
$db = 'your_database'; // 데이터베이스 이름
$user = 'your_username'; // 사용자 이름
$pass = 'your_password'; // 비밀번호
$charset = 'utf8mb4'; // 문자 집합
// DSM(Data Source Name) 생성
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
try {
// PD0 객체 생성
$pdo = new PDO($dsn, $user, $pass, $options);
echo "데이터베이스에 성공적으로 연결되었습니다.<br>";
// 테이블 생성
$sqlCreate = "CREATE TABLE IF NOT EXISTS person_table (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
age INT NOT NULL
)";
$pdo->exec($sqlCreate);
echo "테이블이 생성되었습니다. <br>";
// 데이터 삽입
$sql = "INSERT INTO person_table (name, age) VALUES (:name, :age)";
$stmt = $pdo->prepare($sql);
$stmt->execute(['name' => 'koras02', 'age' => 27]);
echo "데이터가 성공적으로 삽입되었습니다.<br>";
// 데이터 조회
$sql = "SELECT * FROM person_table";
$stmt = $pdo->query($sql);
while ($row = $stmt->fetch()) {
echo "ID: " . $row['id'] . " - Name: " . $row['name'] . "<br>";
}
} catch(\PDOException $e) {
echo "데이터베이스 연결 실패: " . $e->getMessage();
}
?>
- 데이터베이스 연결: PDO를 사용해 MySQL에 연결
- 테이블 생성:
- CREATE TABLE IF NOT EXISTS person_table명령어를 사용해 테이블을 생성합니다.
- 테이블 구조는 id, name, age 컬럼을 포함해, id는 자동 증가하는 기본 키
- IF NOT EXISTS를 사용하여 테이블이 이미 존재할 경우 오류를 방지
- 데이터 삽입:
- INSERT INTO person_table (name, age) VALUES (:name, :age) 쿼리를 사용해 데이터를 삽입
- 데이터 조회:
- SELECT * FROM person_table 쿼리를 사용해 테이블의 데이터를 조회
- 주의 사항
- your_database, your_table, your_username, your_password는 실제 MySQL의 데이터베이스와 사용자 정보로 변경해야 합니다.
- 이 코드는 테이블이 존재하지 않는 가정 하에 새로 생성하는 코드로, 이미 존재하면 기존의 테이블로 사용합니다.
GitHub - Koras02/php-tutorial
Contribute to Koras02/php-tutorial development by creating an account on GitHub.
github.com
LIST
'Back-End > PHP' 카테고리의 다른 글
[PHP] 11장. PHP 보안 고려하기 (0) | 2025.02.28 |
---|---|
[PHP] 10장. PHP 예외처리, 에러메시지 출력 설정 (0) | 2025.02.28 |
[PHP] 8장 세션과 쿠키 (0) | 2025.02.26 |
[PHP] 7장 파일 입출력 (0) | 2025.02.24 |
[PHP] 6장 객체 지향 프로그래밍 (0) | 2025.02.23 |