간단 한 php 데이터베이스 조작 류 코드(추가,삭제,변경,검사)

데이터베이스 조작 기본 프로 세 스:
1.데이터베이스 서버 연결
2.데이터베이스 선택
3.실행 SQL 구문
4.처리 결과 집
5.작업 정보 인쇄
그 중 에 사용 되 는 관련 함수 는
•resource mysql_connect ( [string server [, string username [, string password [, bool new_link [, int client_flags]]]]])데이터베이스 서버 연결•resource mysqlpconnect ( [string server [, string username [, string password [, int client_flags]]]])데이터베이스 서버 연결,긴 연결•int mysqlaffected_rows ( [resource link_identifier])최근 링크 가 져 오기identifier 와 연 결 된 INSERT,UPDATE 또는 DELETE 조회 에 영향 을 미 치 는 기록 줄 수.bool mysql_close ( [resource link_identifier])성공 하면 TRUE 로,실패 하면 FALSE 로 돌아 갑 니 다.int mysql_errno ( [resource link_identifier])이전 MySQL 함수 의 오류 번 호 를 되 돌려 줍 니 다.오류 가 없 으 면 0(0)으로 되 돌려 줍 니 다.string mysql_error ( [resource link_identifier])이전 MySQL 함수 의 오류 텍스트 를 되 돌려 줍 니 다.오류 가 없 으 면'(빈 문자열)'을 되 돌려 줍 니 다.연결 자원 번호 가 지정 되 지 않 으 면 이전 열 린 연결 을 사용 하여 MySQL 서버 에서 오류 정 보 를 추출 합 니 다.array mysql_fetch_array ( resource result [, int result_type])결과 집합 에서 가 져 온 줄 에 따라 생 성 된 배열 을 되 돌려 주 고,더 많은 줄 이 없 으 면 FALSE 로 되 돌려 줍 니 다.bool mysql_free_result(resource result)는 결과 식별 자 result 와 연 결 된 모든 메모 리 를 방출 합 니 다.int mysql_num_fields(resource result)는 결과 집중 필드 의 수 를 되 돌려 줍 니 다.int mysql_num_rows(resource result)는 결과 집중 줄 의 수 를 되 돌려 줍 니 다.이 명령 은 SELECT 문구 에 만 유효 합 니 다.INSERT,UPDATE 또는 DELETE 조회 에 영향 을 미 치 는 줄 의 수 를 얻 으 려 면 mysqlaffected_rows()。•resource mysql_query ( string query [, resource link_identifier])지정 한 연결 식별 자 와 연 결 된 서버 의 현재 활동 데이터베이스 에 조 회 를 보 냅 니 다.링크 가 지정 되 지 않 았 다 면identifier 는 이전 열 린 연결 을 사용 합 니 다.열 린 연결 이 없 으 면 이 함 수 는 인자 없 이 my sql 을 호출 하려 고 시도 합 니 다.connect()함수 로 연결 을 만 들 고 사용 합 니 다.검색 결과 캐 시 코드 는 다음 과 같 습 니 다.

class mysql {

     private $db_host;       //
     private $db_user;       //
     private $db_pwd;        //
     private $db_name;       //
     private $db_charset;    //
     private $db_pconn;      //
     private $debug;         //
     private $conn;          //
     private $msg = "";      //

 //    private $sql = "";      // SQL

     public function __construct($db_host, $db_user, $db_pwd, $db_name, $db_chaeset = 'utf8', $db_pconn = false, $debug = false) {
         $this->db_host = $db_host;
         $this->db_user = $db_user;
         $this->db_pwd = $db_pwd;
         $this->db_name = $db_name;
         $this->db_charset = $db_chaeset;
         $this->db_pconn = $db_pconn;
         $this->result = '';
         $this->debug = $debug;
         $this->initConnect();
     }

     public function initConnect() {
         if ($this->db_pconn) {
             $this->conn = @mysql_pconnect($this->db_host, $this->db_user, $this->db_pwd);
         } else {
             $this->conn = @mysql_connect($this->db_host, $this->db_user, $this->db_pwd);
         }
         if ($this->conn) {
             $this->query("SET NAMES " . $this->db_charset);
         } else {
             $this->msg = " , :" . mysql_errno() . " :" . mysql_error();
         }
         $this->selectDb($this->db_name);
     }

     public function selectDb($dbname) {
         if ($dbname == "") {
             $this->db_name = $dbname;
         }
         if (!mysql_select_db($this->db_name, $this->conn)) {
             $this->msg = " ";
         }
     }

     public function query($sql, $debug = false) {
         if (!$debug) {
             $this->result = @mysql_query($sql, $this->conn);
         } else {

         }
         if ($this->result == false) {
             $this->msg = "sql , :" . mysql_errno() . " :" . mysql_error();
         }
 //        var_dump($this->result);
     }

     public function select($tableName, $columnName = "*", $where = "") {
         $sql = "SELECT " . $columnName . " FROM " . $tableName;
         $sql .= $where ? " WHERE " . $where : null;
         $this->query($sql);
     }

     public function findAll($tableName) {
         $sql = "SELECT * FROM $tableName";
         $this->query($sql);
     }

     public function insert($tableName, $column = array()) {
         $columnName = "";
         $columnValue = "";
         foreach ($column as $key => $value) {
             $columnName .= $key . ",";
             $columnValue .= "'" . $value . "',";
         }
         $columnName = substr($columnName, 0, strlen($columnName) - 1);
         $columnValue = substr($columnValue, 0, strlen($columnValue) - 1);
         $sql = "INSERT INTO $tableName($columnName) VALUES($columnValue)";
         $this->query($sql);
         if($this->result){
             $this->msg = " 。 id :" . mysql_insert_id($this->conn);
         }
     }

     public function update($tableName, $column = array(), $where = "") {
         $updateValue = "";
         foreach ($column as $key => $value) {
             $updateValue .= $key . "='" . $value . "',";
         }
         $updateValue = substr($updateValue, 0, strlen($updateValue) - 1);
         $sql = "UPDATE $tableName SET $updateValue";
         $sql .= $where ? " WHERE $where" : null;
         $this->query($sql);
         if($this->result){
             $this->msg = " 。 :" . mysql_affected_rows($this->conn);
         }
     }

     public function delete($tableName, $where = ""){
         $sql = "DELETE FROM $tableName";
         $sql .= $where ? " WHERE $where" : null;
         $this->query($sql);
         if($this->result){
             $this->msg = " 。 :" . mysql_affected_rows($this->conn);
         }
     }

     public function fetchArray($result_type = MYSQL_BOTH){
         $resultArray = array();
         $i = 0;
         while($result = mysql_fetch_array($this->result, $result_type)){
             $resultArray[$i] = $result;
             $i++;
         }
         return $resultArray;
     }

 //    public function fetchObject(){
 //        return mysql_fetch_object($this->result);
 //    }

     public function printMessage(){
         return $this->msg;
     }

     public function freeResult(){
         @mysql_free_result($this->result);
     }

     public function __destruct() {
         if(!empty($this->result)){
             $this->freeResult();
         }
         mysql_close($this->conn);
     }
 }
호출 코드 는 다음 과 같 습 니 다.

require_once 'mysql_V1.class.php';
 require_once 'commonFun.php';
 $db = new mysql('localhost', 'root', '', "test");

 //select   
 $db->select("user", "*", "username = 'system'");
 $result = $db->fetchArray(MYSQL_ASSOC);
 print_r($result);
 dump($db->printMessage());

 //insert   
 //$userInfo = array('username'=>'system', 'password' => md5("system"));
 //$db->insert("user", $userInfo);
 //dump($db->printMessage());

 //update   
 //$userInfo = array('password' => md5("123456"));
 //$db->update("user", $userInfo, "id = 2");
 //dump($db->printMessage());

 //delete   
 //$db->delete("user", "id = 1");
 //dump($db->printMessage());

 //findAll  
 $db->findAll("user");
 $result = $db->fetchArray();
 dump($result);
ps.개인 적 으로 tp 의 dump 함 수 를 좋아 하기 때문에 comonFun.php 파일 에서 우호 인쇄 함 수 를 복사 하 였 습 니 다.사용 시 print 로 변경r()이면 됩 니 다.

좋은 웹페이지 즐겨찾기