Baidu는 나중에 PDO를 사용하기로 결정했습니다. PDO를 선택한 이유에 대해서는 여기서 자세히 설명하지 않겠습니다. Baidu를 방문하면 직접 알 수 있습니다.
변경을 하려면 일반적으로 사용되는 데이터베이스 연산 클래스가 필요합니다. 소위 추가, 삭제, 수정, 쿼리 등이 필요한데요. 어젯밤에 밤새 놀다가 대략적인 생각이 나더군요. 프로토타입 다음은 코드입니다. 조언을 해주실 수 있기를 바랍니다.
코드 복사 코드는 다음과 같습니다.
/*
저자: Hu Rui
날짜: 2011/03/19
이메일: hooray0905@foxmail.com
20110319
일반적인 데이터베이스 작업: 추가, 삭제, 수정, 쿼리, 단일 레코드 얻기, 여러 레코드 얻기 , 최근 삽입된 레코드 ID 반환, 작업 레코드 행 수 반환 등
*/
/*
매개변수 설명
int $debug 디버깅 활성화 여부, 활성화된 경우 SQL 문 출력됩니다
int $getcount 계산 여부, 반환 값은 행입니다. Number
int $getrow 단일 레코드 반환 여부
string $table 데이터베이스 테이블
string $fields 쿼리할 데이터베이스 필드 , 비어 있을 수 있음, 기본값은 모두 찾는 것입니다
string $sqlwhere 쿼리 조건 허용, 비어 있음
string $orderby 정렬, 비어 있을 수 있음, 기본값은 id 역순임
*/
function hrSelect($debug, $getcount, $getrow, $table, $fields="*", $sqlwhere ="", $orderby="id desc"){
global $pdo
if($ debug){
if($getcount){
echo "1=1인 $sql에서 $orderby로 주문한 $ 테이블에서 count(*)를 선택합니다."
}else{
echo "$를 선택합니다. 1=1인 $table의 필드$order by $order";
}
exit ;
}else{
if($getcount){
$rs = $pdo-> ;query("1=1 $sql에서 $orderby로 주문한 개수(*) 선택")
return $rs->fetchColumn()
}elseif($getrow){
$rs = $pdo->query("1=1 $sql에서 $orderby로 주문한 $fields 선택")
return $rs->fetch()}else{
$rs = $pdo->query("1=1 $sql에서 $orderby로 주문한 $fields 선택")
return $rs->fetchAll();
}
}
/*
매개변수 설명
int $debug 디버깅 활성화 여부, 활성화되면 SQL 문이 출력됩니다.
int $execrow 활성화 및 반환 여부 실행 항목 수
int $lastinsertid 마지막으로 삽입된 레코드 활성화 및 반환 여부 id
string $table 데이터베이스 테이블
string $fields 필수 데이터베이스에 삽입된 필드
string $values 정보 데이터베이스에 삽입해야 하는 값은 $fields 일대일
*/
function hrInsert($debug, $execrow, $lastinsertid, $table, $fields, $value){
global $pdo;
if($debug){
echo "$table($fields) 값에 삽입 ($values)"
exit( $execrow) {
return $pdo->exec("$table($fields) 값에 삽입 ($values)")
}elseif($lastinsertid){
return $pdo-> ; lastInsertId("$table($fields) 값에 삽입 ($values)");
}else{
$pdo->query("$table($fields) 값에 삽입 ( $values) ");
}
}
/*
매개변수 설명
int $debug 디버깅 활성화 여부, 활성화되면 SQL 문이 출력됩니다.
int $execrow 실행 활성화 여부 및 항목 수 반환
string $table 데이터베이스 테이블
string $set 업데이트해야 하는 필드 및 콘텐츠 형식: a='abc',b=2,c='2010- 10-10 10:10:10'
string $sqlwhere는 조건을 수정하고 공백을 허용합니다.
*/
function hrUpdate($debug, $execrow, $table, $set, $sqlwhere="") {
global $pdo;
if( $debug){
echo "update $table set $sqlwhere"
exit($execrow) {
return $pdo->exec(" update $table set $set where 1=1 $sqlwhere")
}else{
$pdo->query("update $table set $ set where 1=1 $sqlwhere");
}
}
/*
매개변수 설명
int $debug 디버깅 활성화 여부, 활성화된 경우 SQL 문 출력
int $ execrow 실행 항목 개수 활성화 및 반환 여부
string $table 데이터베이스 테이블
string $sqlwhere 삭제 조건, 비어 있음 허용
*/
function hrDelete($debug, $execrow, $table, $sqlwhere=""){
global $pdo;
if ($debug){
echo "1=1 $sqlwhere에서 삭제"
exit; ($execrow){
return $pdo->exec("1=1 $sqlwhere에서 $table에서 삭제")
}else{
$pdo->query("$에서 삭제 table where 1=1 $sqlwhere");
}
}
?>
매개변수에 대한 설명은 모두 명확하게 적혀있습니다. 필요하신 분은 없으시겠지만 사용법을 모르시면 저에게 직접 물어보셔도 됩니다.
이상은 Parallels Desktop 7의 내용을 포함하여 PDO 기반의 데이터베이스 연산 클래스인 Parallels Desktop 7을 소개하고 있습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.