PHP의 데이터베이스와 상호 작용하는 것은 동적 웹 페이지 및 응용 프로그램을 구축하는 데 중요한 부분입니다. Connect () 는 PHP에 내장 된 표준 기능이 아니라 개발자가 데이터베이스 연결 로직을 캡슐화하는 데 종종 사용하는 일반적인 사용자 정의 기능 이름입니다. 자신의 Connect () 함수를 만들어 코드의 재사용 성과 유지 가능성을 향상시킬 수 있습니다.
PHP는 MySQLI_CONNECT () 또는 데이터베이스 연결에 대한 PDO와 같은 방법을 제공하지만 연결 로직을 반복적으로 작성하면 코드를 팽창 할 수 있습니다. 캡슐화를 통해 다음을 수행 할 수 있습니다.
통합 데이터베이스 연결 방법
기본 논리에서 코드를 단순화하십시오
오류 처리 및 디버깅이 더 쉽습니다
연결 구성의 중앙 집중식 관리를 구현합니다
다음은 mysqli 확장자를 사용하는 connect () 함수의 예입니다.
<code>```php <? php 함수 connect () {
$ host = 'localhost';
$ user = 'db_user';
$ password = 'db_password';
$ database = 'my_database';
$conn = new mysqli($host, $user, $password, $database);
if ($conn->connect_error) {
die('데이터베이스 연결에 실패했습니다: ' . $conn->connect_error);
}
// 캐릭터 세트를 설정하십시오
$conn->set_charset('utf8mb4');
return $conn;
}
// 예제를 사용합니다
$ conn = connect ();
$ result = $ conn-> query ( "select * from user");
while ($ row = $ result-> fetch_assoc ()) {
Echo "사용자 이름 :". $ 행 [ '사용자 이름']. "<br>";
}
$ conn-> close ();
?>
</code>
## 예:사용 PDO 구현 connect() 기능
비교 `mysqli`,PDO 여러 데이터베이스 시스템을 지원하며 더 안전합니다。以下是사용 PDO 버전:
<code>
```php
<?php
function connect() {
$dsn = 'mysql:host=localhost;dbname=my_database;charset=utf8mb4';
$username = 'db_user';
$password = 'db_password';
try {
$pdo = new PDO($dsn, $username, $password, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
]);
return $pdo;
} catch (PDOException $e) {
die('데이터베이스 연결에 실패했습니다: ' . $e->getMessage());
}
}
// 사용예
$pdo = connect();
$stmt = $pdo->query("SELECT * FROM users");
foreach ($stmt as $row) {
echo "사용자 이름: " . $row['username'] . "<br>";
}
?>
</코드>구성 파일 사용 : 데이터베이스 구성을 .ini 또는 .env 파일로 추출하여 관리 및 환경 전환에보다 도움이됩니다.
로깅 추가 : DIE () 가 아니라 연결이 실패하면 로그를 쓰십시오.
싱글 톤 모드 사용 : 대규모 애플리케이션의 데이터베이스에 대한 반복 연결 방지.
오류 메시지 | 이유 | 해결책 |
---|---|---|
사용자에 대한 액세스 거부 | 잘못된 사용자 이름 또는 비밀번호 | 사용자 자격 증명이 올바른지 확인하십시오 |
알 수없는 데이터베이스 | 데이터베이스가 존재하지 않습니다 | 데이터베이스가 생성되었는지 확인하십시오 |
연결 시간이 초과되었습니다 | 네트워크 또는 권한 문제 | 호스트 이름이 올바른지 확인하고 포트가 열려 있는지 확인하십시오. |
Connect () 는 PHP의 표준 기능은 아니지만 개발자가 통합 된 방식으로 데이터베이스 연결을 관리 할 수 있도록하는 일반적인 캡슐화 방법입니다. MySQLI 또는 PDO를 사용하든 안정적이고 재사용 가능한 Connect () 기능을 구현하는 것이 고품질 PHP 응용 프로그램의 기초입니다.