>백엔드 개발 >PHP 튜토리얼 >Dob Adodb의 10가지 예제의 명확한 버전

Dob Adodb의 10가지 예제의 명확한 버전

WBOY
WBOY원래의
2016-07-29 08:35:53902검색

원래는 배를 배우고 싶었는데, 인터넷에서 adodb 평가가 매우 높다는 글이 여러 개 있어서 이 글로 바꿨습니다.
ADODB의 장점은 다음과 같습니다(내 것이 아니라 온라인에서 말함):
1. 속도는 배보다 두 배 빠릅니다.
2. 더 많은 데이터베이스 유형을 지원합니다. ACCESS;
3. 설치나 서버 지원이 필요하지 않습니다(초보자에게는 매우 중요함)
adodb가 무엇인지 모르거나 adodb를 다운로드하고 싶은 친구는 다음 링크로 이동할 수 있습니다: http:/ /www .phpe.net/class/106.shtml
또한, README의 전체 텍스트를 번역한 형제가 있거나 번역본을 어디서 찾을 수 있는지 알고 있는 경우 제게 답장해 주세요. 감사합니다.
튜토리얼
예제 1: Select 문
작업: Northwind라는 Access 데이터베이스에 연결하고 각 레코드의 처음 두 필드를 표시합니다.
이 예에서는 새 ADOC 연결(ADOConnection)을 만들었습니다. 이 연결은 영구 연결인 PConnect 메서드를 사용합니다. 데이터베이스를 쿼리하려는 경우 언제든지 이 연결의 Execute() 함수를 호출할 수 있습니다. 실제로 배열 fields[]의 현재 행을 보유하는 커서인 ADORecordSet 객체. MoveNext()를 사용하여 한 레코드에서 다음 레코드로 이동합니다.
주의: 에서는 사용되지 않는 매우 유용한 함수 SelectLimit이 있습니다. 이 예에서는 표시되는 레코드 수를 제어할 수 있습니다(예: 처음 10개의 레코드만 표시되며 페이징 표시에 사용할 수 있음).
PHP:------------- --------- --------------- --------- --------
<
include('adodb.inc.php') #ADOdb 로드
$conn = &ADONewConnection('access '); # 새 연결 만들기
$conn->PConnect('northwind') # northwind라는 MS-Access 데이터베이스에 연결
$recordSet = &$conn->Execute('select * from products'); #From 상품 데이터 테이블의 모든 데이터 검색
if (!$recordSet)
print $conn->ErrorMsg() //데이터 검색에 오류가 발생하면 오류 메시지 표시
else
while (!$recordSet->EOF) {
print $recordSet->fields[0].' '.$recordSet->fields[1].'
' ;
$recordSet->MoveNext (); //다음 레코드를 가리킵니다.
} //표시 데이터 나열
$recordSet->Close() //선택 사항
$conn- >닫기(); //선택사항
?> --------- -------------
$recordSet in $recordSet-> 현재 배열이 필드에 반환되고 필드는 숫자로 인덱스됩니다(0부터 시작). 데이터베이스 검색이 끝나면 다음 레코드로 이동합니다. , EOF 속성이 true로 설정됩니다. Execute()에서 오류가 발생하면 PHP 데이터베이스 확장에서 레코드세트 Return flase.
$recordSet->fields[] 배열이 생성됩니다. 일부 데이터베이스 확장은 필드 이름이 아닌 숫자로만 색인화할 수 있습니다. 필드 이름 색인을 사용하려는 경우 색인 형식에 관계없이 레코드 세트를 Execute() 또는 SelectLimit로 생성할 수 있습니다. ().
PHP:---------------------------------- --- ----------------------------------
$db->SetFetchMode(ADODB_FETCH_NUM);
$rs1 = $db->Execute('select * from table'); //숫자 인덱스 사용
$db->SetFetchMode(ADODB_FETCH_ASSOC)
$rs2 = $db-> Execute( 'select * from table'); //필드 이름 인덱스 사용
print_r($rs1->fields) # 배열([0]=>'v0',[1] =>' v1' )
print_r($rs2->fields); # 배열 표시(['col1']=>'v0',['col2'] =>'v1')------ -- ------------------------------------------------ -- ---------------------
레코드 번호를 얻으려면 $recordSet->RecordCount()를 사용하면 됩니다. 현재 레코드가 없으면 -1을 반환합니다.
예 2: 필드 개체를 사용한 고급 선택
테이블을 검색하고 처음 두 필드를 표시합니다. 두 번째 필드가 시간 또는 날짜 형식인 경우 이를 미국 표준 시간 형식으로 변경합니다.
PHP: -- ------------------------------------------------ -- --------------------------------
<
include('adodb.inc.php' ); ///adodb 로드
$conn = &ADONewConnection('access'); //새 연결 만들기
$conn->PConnect('northwind') //MS-Access 데이터베이스에 연결 명명된 northwind
$recordSet = &$conn->Execute('select CustomerID,OrderDate from Orders') //Orders 테이블에서 CustomerID 및 OrderDate 두 필드를 검색합니다.
if (!$recordSet)
print $conn->ErrorMsg(); //데이터베이스 검색 오류가 발생하면 오류 메시지가 표시됩니다.
else
while (!$recordSet->EOF) {
$fld = $recordSet->FetchField( 1); //두 번째 필드를 $fld에 할당
$type = $recordSet->MetaType($fld->type) //필드 값 형식 가져오기
if ( $type = = 'D' || $type == 'T')
$recordSet->fields[0].'
$recordSet->UserDate($recordSet ->fields[1] ,'m/d/Y').'
'; //필드 형식이 날짜 또는 시간인 경우 미국 표준 형식으로 출력합니다.
else
print $recordSet->fields[ 0].' '.$recordSet->fields[1].'
' //그렇지 않으면 그대로 출력
$recordSet->MoveNext(); /다음 레코드 지정
}
$recordSet->Close(); //선택 사항
$conn->Close() //선택 사항
?> ------- ----------------- ------- -------------
이 예에서는 FetchField() 함수를 사용하여 두 번째 필드의 형식입니다. 세 가지 변수의 개체를 반환합니다.
name: 필드 이름
type: 데이터베이스에 있는 필드의 실제 형식
max_length: 필드의 최대 길이, 일부 데이터베이스에서는 MYSQL과 같이 이 값을 반환하지 않습니다. 이 경우 max_length 값은 -1입니다.
MetaType()을 사용하여 필드의 데이터베이스 형식을 표준 필드 형식으로 변환합니다.
C: 문자 필드, 태그 아래에 표시되어야 합니다.
X: 상대적으로 큰 텍스트를 저장하는 텍스트 필드로, 일반적으로