> 백엔드 개발 > PHP 튜토리얼 > pskys_windows7loader PDO 기반의 새로운 데이터베이스 작업 클래스 PDO 트랜잭션 인스턴스

pskys_windows7loader PDO 기반의 새로운 데이터베이스 작업 클래스 PDO 트랜잭션 인스턴스

WBOY
풀어 주다: 2016-07-29 08:45:55
원래의
1047명이 탐색했습니다.

코드 복사 코드는 다음과 같습니다.


/*
* 작성자: Hu Rui
* 날짜: 2011/03/19
* 이메일: hooray0905@foxmail.com
*
* 20110319
* 일반적인 데이터베이스 작업(예: 추가, 삭제, 수정, 쿼리, 가져오기) 단일 레코드, 다중 레코드, 반환 최근 삽입된 레코드의 ID, 반환된 작업 레코드의 행 수 등
* 20110630
* 전체 방법 수정 및 일부 매개변수 병합
* 코드 표준화 , 메서드에 return 문이 하나만 있습니다.
*/
/*
매개 변수 설명
int $debug 디버깅 활성화 여부, 활성화된 경우 SQL 문 출력
int $mode 0 Return array
1 단일 레코드 반환
2 행 수 반환
string $table 데이터베이스 테이블
string $fields 쿼리할 데이터베이스 필드, 비어 있을 수 있음, 기본값은 모두 찾는 것입니다
string $sqlwhere 쿼리 조건, 비어 있을 수 있음
string $order 정렬 기준, 비어 있을 수 있음, 기본값은 id 역순입니다
*/
function hrSelect($debug, $mode, $table, $ fields="*", $sqlwhere="", $orderby="id desc"){
전역 $pdo
if($debug){
if($mode == 2){
echo "1=1 $sql에서 $orderby로 주문한 $table에서 개수(*) 선택";
}elseif($mode == 1){
echo "1인 $table에서 $fields 선택 =1 $sqlwhere";
}else{
echo "$table에서 $fields 선택, 여기서 1=1 $sqlwhere order by $orderby";
}
exit;
}else{
if($mode == 2){
$rs = $pdo->query("select count(*) from $table where 1=1 $sqlwhere order by $orderby"); $return = $rs->fetchColumn();
}elseif($mode == 1){
$rs = $pdo->query("1=1 $인 $table에서 $fields 선택 sqlwhere");
$return = $rs->fetch();
}else{
$rs = $pdo->query("select $fields from $table where 1=1 $ sqlwhere order by $orderby");
$return = $rs->fetchAll();
}
return $return;
}
}
/*
매개변수 설명
int $debug 디버깅 활성화 여부, 활성화하면 sql 문이 출력됩니다.
int $mode 0 기본 삽입, 반환 정보 없음
1 실행 항목 수를 반환합니다.
2 반환합니다. 마지막으로 삽입된 레코드의 ID
string $table 데이터베이스 테이블
string $fields 데이터베이스에 삽입해야 하는 필드
string $values ​​데이터베이스에 삽입해야 하는 정보는 다음과 일치해야 합니다. $fields 일대일
*/
function hrInsert($debug, $mode, $table, $fields, $values){
global $pdo
if($ debug){
echo "$table($fields) 값에 삽입 ​​($values)";
exit
}else{
if($mode == 2){
$ return = $pdo->lastInsertId("$table($fields) 값에 삽입 ​​($values)")
}elseif($mode == 1){
$return = $pdo-> ; exec("$table($fields) 값에 삽입 ​​($values)")
}else{
$pdo->query("$table($fields) 값에 삽입 ​​($values)" ; 명령문
int $mode 0 기본 업데이트, 반환 정보 없음
1 실행 항목 수 반환
string $table 데이터베이스 테이블
string $set 업데이트할 필드 및 내용 , 형식: a='abc' ,b=2,c='2010-10-10 10:10:10'
string $sqlwhere 조건을 수정하고 공백 허용
*/
function hrUpdate($ debug, $mode, $table , $set, $sqlwhere=""){
global $pdo
if($debug){
echo "update $table set $set 여기서 1=1 $ sqlwhere";
exit ;
}else{
if($mode==1){
$return = $pdo->exec("update $table set $set where 1=1 $sqlwhere");
}else{
$pdo->query("update $table set $set where 1=1 $sqlwhere");
exit;
}
return $return;
}
}
/*
매개변수 설명
int $debug 디버깅 활성화 여부, 활성화된 경우 SQL 문 출력
int $mode 0 기본 삭제, 반환 없음 information
1 실행 항목 수 반환
string $table 데이터베이스 테이블
string $sql삭제 조건, 공백이 허용되는 경우
*/
function hrDelete($debug, $mode, $table , $sqlwhere=""){
global $pdo;
if($debug){
echo "1=1인 $table에서 삭제"
exit; else{
if($mode == 1){
$return = $pdo->exec("1=1 $sqlwhere인 $table에서 삭제")
}else{
$pdo->query("1=1 $sqlwhere에서 삭제")
exit
}
return $return;
}
?> ;


또한 코드 조각은 내 데이터베이스 작업 클래스의 트랜잭션 인스턴스를 기반으로 합니다.



코드 복사

코드는 다음과 같습니다.


/*

데이터베이스 작업 테이블 유형은 InnoDB여야 하며, 다른 유형은 트랜잭션을 지원하지 않습니다.
PDO 트랜잭션 메커니즘
$pdo->beginTransaction( ); --트랜잭션 열기

$pdo->commit(); -트랜잭션 종료$pdo->rollBack(); --롤백 작업예: try/catch를 사용하여 db 작업. 트랜잭션 내의 db 작업이 중단되면 롤백이 실행되고 예외 정보가 발생합니다. */ try{

$pdo->beginTransaction()

hrInsert(0,1,"class","name,parentid","'god',0"); //정상적으로 실행 가능
hrInsert(0,0,0,"tb_searchlog","userid,code","4") //Error
$pdo->commit(); } catch(예외 $e){
$pdo->rollBack();
echo "실패: " .
}


코드 다운로드: 다운로드하려면 클릭하세요.

위에서는 pskys_windows7loader의 내용을 포함하여 PDO 및 PDO 트랜잭션 인스턴스를 기반으로 하는 새로운 데이터베이스 작업 클래스인 pskys_windows7loader를 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿