Php + mysql의 조합 건물, 사이트의 일반적인 혼합 하지만 웹을 통해 MySQL 데이터베이스를 액세스 하려면 PHP는 어떻게 사용 합니까? 여기에 웹 데이터베이스 스키마가 작동 하는 방법입니다.
웹에서 데이터베이스 쿼리: 어떻게 웹 데이터베이스 스키마 작품
1, 사용자의 브라우저는 HTTP 요청을 실행, PHP 스크립트 파일에 제출 하는 양식 양식 시작 하려면 페이지에서 특정 웹 페이지를 요청 (예: results.php) 처리;
2, 웹 서버는 요청을 받으면 Results.php 페이지에 파일을 검색 하 고 PHP 엔진 처리;에 전달
3. PHP 엔진 시작 스크립트를 구문 분석 합니다. 스크립트는 주로 데이터베이스에 연결 하 고 쿼리를 실행 하는 명령을 포함 합니다. PHP은 MySQL 서버에 연결 하는 서버를 적절 한 쿼리를 보냅니다.
4, MySQL 서버 데이터베이스 쿼리 요청을 받았습니다, 그리고이 쿼리를 처리 하는 시작 하 고 PHP 엔진;에 쿼리 결과 반환
5, PHP 엔진 작업 후, 다시 웹 서버;에 HTML 스크립트를 완료
6, 웹 서버는 클라이언트 브라우저에 HTML을 반환 합니다, 그리고 사용자가 응답 페이지;의 결과 볼 수 있습니다.
웹에서 데이터베이스를 쿼리 하기 위한 기본 단계
우리 필터링, 1, 확인 하 고 사용자에서 데이터를 먼저 필터링 사용자 시작 부분에 있을 수 있습니다 또는 그들의 검색 조건의 끝 실수로 공백 문자 입력, 이렇게 함수를 사용 하 여 트림 (). 우리는 너무 많은 말썽. 사용자가 데이터를 입력 하는 이유 때문에 보안 문제가 발생할 수 있습니다 다른 인터페이스에서 사용자가 입력 하는 데이터베이스에 연결에서 여러 개의 인터페이스를 방지 하기 위해은. 당신이 준비가 되 면 사용자가 입력 한 모든 데이터를 사용 하 여, 당신은 또한 필터링 일부 제어 문자 적절 하 게, 그리고 어느 시점에서 도난된 함수는 addslashes () 함수, stripslashes () 함수는 Get_magic_qutoes 데이터를 이스케이프 해야 합니다 사용자가 데이터베이스에 데이터를 입력할 때 _GPC () 함수입니다. Addslashes () 함수는 데이터베이스 쿼리의 요구에 대 한 일부 문자를 백슬래시를 추가 하 고 Stripslashes () 함수는 문자열에서 백슬래시 문자를 제거 합니다; GET_MAGIC_QUTOES_GPC () 함수 매직 추가 이스케이프 문자 "", 현재 활성 구성 Magic_quotes_runtime 설정을 가져옵니다, 그리고 마법의 견적 실행 시 꺼져 또는 1을 반환 합니다 경우 0을 반환 합니다. 우리 또한 HTML에서 특별 한 의미 문자에 대 한 경고 코드를 Htmispecialchars ()를 사용할 수 있으며 Htmispecialchars () 함수는 HTML 엔터티를 몇 가지 미리 정의 된 문자를 변환 합니다 "미리 정의 된 문자는: & (및 숫자)가 &" (큰따옴표)가 "' (작은따옴표)가 ' < (보다 작음) < > (이상)가 될 >"
2. PHP MySQL에 연결 하기 위한 함수 라이브러리 mysqli (i)를 제공 하는 적절 한 데이터베이스에 대 한 연결을 설정 합니다. PHP에서 MYSQLI 함수 라이브러리를 사용할 때 개체 지향 또는 프로세스 지향 구문을 사용할 수 있습니다.
A, 객체 지향, $db @ 새로운 mysqli ('호스트 이름', '사용자 이름', '비밀 번호', 'dbname') =; 개체를 반환 합니다
B, 프로세스 지향: $db @ mysqli_connect ('호스트 이름', '사용자 이름', '비밀 번호', 'dbname') =; 데이터베이스에 연결을 나타내는 리소스를 반환 합니다 및 프로세스 메서드를 사용 하는 경우 이 리소스는 mysqli의 다른 모든 기능에 전달 되어야 합니다. 이 처리기 함수 매우 비슷합니다.
Mysqli 함수 대부분이 개체 지향 인터페이스 및 프로세스 인터페이스, 차이가 되는 함수 이름의 프로시저 버전 Mysqli_로 시작 하며 들어오는 Mysqli_connect () 함수에 의해 얻은 리소스 핸들 있다. 이 규칙에 대 한 데이터 연결 Mysqli 개체의 생성자에 의해 생성 되므로 예외입니다. 그래서 연결 하려고 하면 연결 오류가 발생 하 고 성공 하면 0을 반환 하는 경우 Mysqli_connect_errno () 함수 오류 번호를 반환 합니다 것을 확인 해야 합니다.
Note 하시기 바랍니다.
데이터베이스에 연결 하는, 보통 회의 때 오류가 억압 @ 첫 번째 포함 하는 코드와. 이 솜씨 또는 예외를 통해 모든 오류를 처리할 수 있습니다. 더하여, MYSQK는 동시에 데이터베이스에 연결 수에 특정 제한이 있다. Mysqli 매개 변수 max_connections 결정 동시 연결 수 있고이 매개 변수 관련 된 아파치 매개 변수 maxclients 시스템 리소스 요청 하거나 시스템은 바쁜 나 시스템 마비 때 사용 하지 보장 새 연결 요청을 거부 하도록 서버를 알려줍니다. 아파치에 MaxClients 매개 변수를 설정 하려면 시스템에 httpd.conf 파일을 편집할 수 있습니다. Mysqli에 대 한 Max_connections 매개 변수를 설정 하려면 파일 my.conf을 편집할 수 있습니다. 사용할 데이터베이스 선택: MySQL 커맨드 라인; 사용 dbname 명령을 사용 하 여 $db-select_db (dbname) 또는 mysqli_select_db (db_resource, dbname) PHP에서.