">

>백엔드 개발 >PHP 튜토리얼 >iOS 8에 추가된 14가지 새로운 기능 PHP 스크립트 데이터베이스 기능에 대한 자세한 설명(전편)

iOS 8에 추가된 14가지 새로운 기능 PHP 스크립트 데이터베이스 기능에 대한 자세한 설명(전편)

WBOY
WBOY원래의
2016-07-29 08:34:03775검색

인터넷이 빠르게 발전하고 전자상거래 웹사이트가 속속 등장하는 현 상황에서 웹사이트 개발의 효율성과 품질에 대한 요구사항은 점점 더 높아지고 있습니다.
복잡한 구조와 방대한 콘텐츠를 보유한 대규모 웹사이트의 경우 웹사이트의 역동적이고 편리한 관리가 필요합니다. 데이터 관리는 데이터베이스 시스템 지원과 분리될 수 없습니다. CGI 언어를 측정하는 중요한 지표는 백엔드 데이터베이스에 액세스하는 능력, 효율성 등입니다.
그리고 현재 인기 있는 PHP 스크립트 언어의 새로운 기능은 우리에게 새로운 느낌을 줍니다. 객체 지향 방식으로 설계 및 개발을 지원합니다. 동시에 웹 페이지의 고유한 요구 사항을 충족하기 위해 템플릿, XML 지원 등을 사용하여 웹 사이트 개발의 새로운 방법을 도입했습니다. 언어 구조 측면에서 PHP는 C 언어와 유사한 구조를 가지고 있으며 개발을 단순화하기 위해 클래스 개념을 도입합니다.
PHP에는 강력한 데이터베이스 지원 기능도 있습니다. 여기에서는 먼저 예제를 통해 PHP가 데이터베이스에 액세스하는 일반적인 프로세스를 소개한 다음, 파일의 데이터베이스 저장을 통해 데이터베이스에 액세스하는 PHP의 고급 응용 프로그램을 소개합니다. 마지막으로 데이터베이스 클래스의 활용 사례를 통해 진정으로 실용적이고 효율적인 데이터베이스 개발 방법을 소개한다.
그림 1
PHP 데이터베이스 기능 소개
PHP는 Oracle, dBase, Informix, SQL Server, Sysbase, MySQL 등 10개 이상의 일반 데이터베이스를 지원합니다. PHP의 응용 범위가 확장되어 PHP를 사용하여 다양한 응용 프로그램을 개발할 수 있게 된 것은 바로 광범위한 데이터베이스 지원 때문입니다.
다양한 데이터베이스 중에서 MySQL은 무료, 크로스 플랫폼, 사용 용이성, 높은 액세스 효율성으로 인해 널리 사용되었습니다. 많은 중앙 집중식 웹사이트는 최고의 파트너인 PHP MySQL을 사용합니다.
오라클은 대표적인 대규모 데이터베이스 애플리케이션 시스템입니다. 귀하가 디자인하는 웹 사이트에 많은 양의 데이터와 높은 성능 및 효율성 요구 사항이 있는 경우 Oracle이 좋은 선택입니다.
Win32 플랫폼에서는 SQL Server가 더 큰 시장을 점유하고 있습니다. PHP는 SQL Server에 액세스할 수 있습니다.
PHP는 다양한 데이터베이스 접근 방식을 캡슐화하고 있으며, 서로 다른 데이터베이스 시스템의 기능도 매우 유사하여 사용 편의성을 높였습니다.
아래에서는 간단한 인재정보교류센터(그림 1 참조)를 예로 들어 개인 이력서의 온라인 제출 및 열람 기능을 구현하는 프로그램을 작성하고 PHP 데이터베이스 운영의 전체 과정을 설명하겠습니다. 데이터베이스는 가장 일반적으로 사용되는 MySQL 데이터베이스를 사용합니다.
PHP 데이터베이스 작업의 기본 단계
로컬 컴퓨터에 ResumeDB라는 데이터베이스를 생성합니다. 데이터베이스에 Resume이라는 테이블이 있습니다. 이 테이블에는 이력서 번호, 직원 이름, 개인 프로필 및 이력서 파일이 Word 형식으로 저장됩니다.
1. 데이터베이스 생성
/usr/local/mysql/bin 디렉터리로 전환하고 명령줄에서 다음 명령문을 실행하여 데이터베이스를 생성합니다.
./mysqladmin-u root-p create ResumeDB
비밀번호 입력:
메시지가 표시된 후 비밀번호를 입력하세요. 데이터베이스를 처음 사용하는 경우 기본 비밀번호는 비어 있으므로 Enter를 누르십시오.
그런 다음 이력서를 저장할 테이블을 만듭니다.
다음 내용으로 Resume.sql 텍스트 파일을 만듭니다.
use ResumeDB;
CREATE TABLE Resume (
IDtinyint(4) NOT NULL auto_increment,
이름 varchar(10) NOT NULL ,
Intro varchar(255),
ResuFile longblob,
PRIMARY KEY(ID),
KEY ID(ID)
)
내 실행 디렉터리/usr /에 넣습니다. local/mysql/bin에서 다음 명령을 실행합니다:
./mysql-u root-p〈 Resume.sql
비밀번호 입력:
데이터베이스 비밀번호를 입력하면 Resume 테이블이 자동으로 성공적으로 생성됩니다. 그 중 ResuFile 필드는 longbolb 유형이며 바이너리 Word 문서를 저장하는 데 사용됩니다.
2. 데이터베이스 접근 과정
PHP의 데이터베이스 접근은 일반적으로 데이터베이스 시스템 연결 → 데이터베이스 선택 → SQL 문 실행 → 결과 집합 닫기 → 데이터베이스 연결 닫기 → 종료의 단계로 구성됩니다.
(1) 데이터베이스 연결
데이터베이스 연결은 사용자 프로그램에서 데이터베이스 시스템으로 대화 채널을 설정하는 과정입니다. MySQL 데이터베이스에 연결하기 위한 구문은 다음과 같습니다:
 〈?
 $LinkID=@mysql_connect("localhost", "root" , "") 또는 die("데이터베이스 서버에 연결할 수 없습니다! 데이터베이스 서버가 시작되지 않거나 사용자 이름과 비밀번호가 올바르지 않습니다!");
 ?>
  그 중 mysql_connect() 함수는 데이터베이스 서버와 연결하는 데 사용됩니다. 세 가지 매개변수는 데이터베이스 서버의 호스트 이름(IP일 수도 있음), 데이터베이스 사용자 이름 및 사용자 비밀번호입니다. 함수 반환 값은 이 데이터베이스 연결을 나타내는 데 사용됩니다.
이 명령에서 볼 수 있듯이 로컬 머신이 아닌 머신 이름을 데이터베이스 서버로 지정할 수 있습니다. 이는 데이터를 오프사이트에 저장하고 데이터베이스를 안전하게 격리할 수 있는 가능성을 제공합니다. 외부 사용자는 WWW 서버에 대한 직접 액세스 권한을 갖는 경우가 많습니다. 데이터베이스 시스템이 WWW 서버에 직접 배치되면 보안 위험이 발생할 수 있습니다. 그리고 데이터베이스 시스템이 방화벽 뒤의 컴퓨터에 배치되면 PHP는 LAN을 통해 데이터베이스에 액세스할 수 있으며 LAN 내부의 컴퓨터는 외부에서 볼 수 없습니다. 이러한 방식으로 데이터베이스는 외부 공격으로부터 보호됩니다.
함수 앞의 "@" 기호는 이 명령에 대한 오류 메시지 표시를 제한하는 데 사용됩니다. 함수 호출 중 오류가 발생하면 or 다음에 나오는 명령문이 실행됩니다. die() 함수는 따옴표 안에 내용을 사용자에게 출력한 후 프로그램 실행을 종료한다는 의미입니다. 이는 데이터베이스 연결 오류가 발생할 때 설명할 수 없는 전문 용어가 사용자에게 표시되는 것을 방지하고 대신 사용자 정의된 오류 메시지를 표시하기 위해 수행됩니다. 그러나 디버깅할 때 오류 메시지를 차단할 수 없으므로 오류가 발생한 후 문제가 어디에 있는지 알 수 없습니다.
 (2) 데이터베이스 선택
 데이터베이스 시스템에는 여러 개의 데이터베이스가 포함될 수 있습니다. 데이터베이스 서버와의 연결을 설정한 후 어떤 데이터베이스를 사용할 것인지 시스템에 알려야 합니다. 데이터베이스를 선택하는 명령은 다음과 같습니다.
 〈?
 @mysql_select_db("ResumeDB",$LinkID) 또는 die("데이터베이스 선택 중 오류가 발생했습니다. 지정한 데이터베이스가 존재하지 않을 수 있습니다!"); > ?〉
데이터베이스를 선택할 때 제공되는 매개변수는 데이터베이스 이름과 서버 연결 번호입니다.
하나의 데이터베이스 서버만 사용할 경우 $LinkID를 생략할 수 있으며, 시스템이 자동으로 가장 가까운 데이터베이스 연결을 찾아서 사용합니다. 그러나 대규모 사이트를 구현하려면 다중 호스트, 다중 데이터베이스 시스템을 만나야 합니다. 이때 데이터베이스 연결 파라미터는 생략할 수 없습니다.
 (3) 데이터베이스 접근
자, 데이터베이스에 대한 연결을 설정하고 데이터베이스를 선택했으며 다음은 SQL 문을 실행하는 것입니다. 사용하기 쉽고 강력한 SQL 문의 기능은 대부분의 데이터베이스 작업을 완료합니다.
먼저 개인정보 기록을 데이터베이스에 기록한 후 조회할 수 있습니다.
 〈?
 $Name= "OpenBall"; //실제 동작 시 $Name과 $Intro는 브라우저 폼에서 전달받은 값입니다
 $Intro = "OpenBall의 개인 프로필..." ;
$query = "Resume(Name,Intro) 값('$Name', '$Intro')에 삽입"; //SQL 문 생성
$result = @mysql_query("$query",$ LinkID ); //실행
if(! $result)
echo "데이터 삽입 실패!"
$query= "Resume에서 ID, 이름, 소개 선택"; > $result = mysql_query($query,$LinkID); //결과 세트를 실행하여 $result
 $num= mysql_num_rows($result) //쿼리에서 반환된 레코드 행 수를 가져옵니다.
if( $num == 0)
 {
echo "기록이 없습니다";
exit()
 }
while($row=mysql_fetch_array($result)) //결과 가져오기 데이터의 다음 행을 배열 $row
 {
  echo $row["ID"]." ".$row["Name"]." ".$row[" Intro"]."〈 br〉";
 //필드명 인덱스를 기준으로 배열 변수 값에 접근
 }
 ? 
  위 작업은 총 2번의 데이터베이스 작업을 수행했습니다. 첫 번째는 삽입 작업이고 두 번째는 쿼리 작업입니다. 프로그램은 먼저 현재 사용자의 하루 기록을 삽입한 다음 데이터베이스에 모든 개인 상황을 표시합니다.
(4) 리소스 해제
작업이 끝나면 결과 집합, 결과 집합 및 데이터베이스 연결 리소스가 해제됩니다.
 〈?
 @mysql_free_result($result);
 @mysql_close($LinkID); 효율성 향상을 위해 데이터베이스 서버에 지속적으로 연결합니다. 데이터베이스 서버에 대한 각 연결에는 시간이 오래 걸리고 많은 리소스 오버헤드가 필요하므로 지속적인 연결이 상대적으로 더 효과적입니다.
지속적인 연결을 설정하는 방법은 데이터베이스에 연결할 때 mysql_connect() 대신 mysql_pconnect() 함수를 호출하는 것입니다. 이 프로그램이 종료되면 mysql_close()를 호출하여 설정된 영구 연결을 닫을 필요가 없습니다. 다음에 프로그램이 여기에서 mysql_pconnect()를 실행할 때, 시스템은 실제로 데이터베이스에 연결하지 않고 설정된 연속 연결의 ID 번호를 자동으로 직접 반환합니다.

이상은 ios8의 14가지 새로운 기능과 ios8의 14가지 새로운 기능을 포함하여 PHP 스크립트 데이터베이스 기능에 대한 자세한 설명(1부)을 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.