PHP를 사용하여 MySQL 데이터베이스를 작동 할 때 Connect () 함수 및 mysqli_select_db ()는 데이터베이스 서버와의 연결을 활성화하고 특정 데이터베이스를 선택하기 위해 데이터베이스 서버와 함께 사용됩니다. 최신 PHP에서는 기존의 MySQL 확장보다 안전하고 강력한 MySQLI 확장을 사용하는 것이 좋습니다. 객체 지향 프로그래밍을 지원합니다.
이 기사에서는 MySQLI_CONNECT () 함수와 MYSQLI_SLECT_DB () 함수를 사용하는 방법을 소개하여 데이터베이스의 작동, 예방 조치 및 코드의 안정성 및 유지 보수 가능성을 개선하는 방법을 결합합니다.
먼저 연결 및 데이터베이스 선택을 작성하는 가장 기본적인 방법을 살펴 보겠습니다.
<code> $ host = 'localhost'; $ user = 'db_user'; $ password = 'db_password'; $ dbname = 'my_database'; // 연결을 만듭니다
$ conn = mysqli_connect ($ host, $ user, $ password);
if (! $ conn) {
다이 ( '연결 실패 :'. mysqli_connect_error ());
}
// 데이터베이스를 선택합니다
if (! mysqli_select_db ($ conn, $ dbname)) {
다이 ( '데이터베이스 선택 실패 :'. mysqli_error ($ conn));
}
Echo "데이터베이스 연결 및 선택이 성공했습니다!";
</코드>
이 코드는 두 가지를 수행합니다.
mysqli_connect ()를 사용하여 데이터베이스 서버에 연결하십시오.
mysqli_select_db ()를 사용하여 데이터베이스를 선택하십시오.
mysqli_connect ()는 실제로 데이터베이스 이름을 직접 전달하는 것을 지원하므로 코드를 단순화 할 수 있습니다.
<code> $ conn = mysqli_connect ($ host, $ user, $ password, $ dbname); </코드>이 방법은 대부분의 경우 충분하지만 MySQLI_SELECT_DB ()로 수동으로 호출하는 응용 프로그램 시나리오가 있습니다.
먼저 권한이나 사용자 정보 확인을 위해 서버에 연결 해야하는 경우 다른 데이터베이스를 선택하십시오.
런타임에 데이터베이스 이름이 동적으로 결정되는 경우;
일부 프레임 워크에서는 먼저 데이터베이스 연결 풀을 설정 한 다음 비즈니스 요구에 따라 데이터베이스를 동적으로 전환해야합니다.
따라서 단순화 된 버전이보다 일반적으로 사용되지만 mysqli_select_db ()를 수동으로 호출하는 방법을 이해하는 것도 마찬가지로 중요합니다.
개발 중에 오류 처리를 무시하지 마십시오. 연결 실패 또는 데이터베이스 선택 실패는 일반적인 문제입니다. 각 단계의 반환 값을 확인하십시오.
<code> if (! $ conn) {error_log ( "데이터베이스 연결 실패 :". mysqli_connect_error ()); 종료 ( "시스템은 바쁘다. 나중에 다시 시도해보십시오."); } if (! mysqli_select_db ($ conn, $ dbname)) {
error_log ( "데이터베이스 선택 실패 :". mysqli_error ($ conn));
종료 ( "데이터베이스 예외, 관리자에게 문의하십시오.");
}
</코드>
로깅 오류 정보는 문제를 해결하고 사용자 경험을 향상시키는 데 도움이 될 수 있습니다.
<code> https://www.m66.net/login.php </code> 사이트를 개발하고 있다고 가정하고, 사용자는 양식을 제출 한 후 정보를 확인해야합니다. 코드 로직은 다음과 같습니다.
<code> $ conn = mysqli_connect ( 'localhost', 'user', 'pass'); if (! $ conn) {
다이 ( "데이터베이스 연결 실패!");
}
mysqli_select_db ($ conn, 'user_db');
$ username = $ _post [ 'username'];
$ password = $ _post [ 'password'];
$ query = "username = '$ username'및 password = '$ password'";
$ result = mysqli_query ($ conn, $ query);
if (mysqli_num_rows ($ result)> 0) {
헤더 ( "위치 : https://www.m66.net/dashboard.php ");
} 또 다른 {
Echo "사용자 이름 또는 비밀번호의 오류";
}
</코드>
참고 : 위의 예를 단순화하기 위해서는 전처리 문이 사용되지 않습니다. 실제 생산 환경에서는 SQL 주입을 방지하기 위해 MySQLI_PREPARE ()를 사용해야합니다.
PHP에서 mysqli_connect () 와 mysqli_select_db () 의 조합을 사용하는 것은 유연한 데이터베이스 연결 방법이며, 특히 데이터베이스를 동적으로 전환 해야하는 시나리오에 적합합니다. 대부분의 경우 연결시 데이터베이스 이름을 직접 지정할 수 있지만이 두 가지의 독립적 인 사용을 이해하면보다 강력한 코드를 작성하는 데 도움이 될 수 있습니다.
좋은 오류 처리 메커니즘은 고품질 PHP 응용 프로그램을 개발하는 데 중요한 단계라는 점을 항상 기억하십시오. 이 기사가 데이터베이스 작업 에이 두 기능을 올바르게 효율적으로 사용하는 데 도움이되기를 바랍니다.