1. 主頁 > 知識庫 > 網絡編程 > PHP >

        PHP

        php數據庫操作類代碼(增,刪,改,查)

        來源:中國IT實驗室 作者:佚名 發表于:2013-07-23 17:55  點擊:
        數據庫操縱基本流程為: 1、連接數據庫服務器 2、選擇數據庫 3、執行SQL語句 4、處理結果集 5、打印操作信息 其中用到的相關函數有 resource mysql_connect ( [string server [, string username [, string password [, bool new_link [, int client_flags]]
         數據庫操縱基本流程為:  1、連接數據庫服務器
          2、選擇數據庫
          3、執行SQL語句
          4、處理結果集
          5、打印操作信息
          其中用到的相關函數有
          •resource mysql_connect ( [string server [, string username [, string password [, bool new_link [, int client_flags]]]]] )  連接數據庫服務器
          •resource mysql_pconnect ( [string server [, string username [, string password [, int client_flags]]]] )  連接數據庫服務器,長連接
          •int mysql_affected_rows ( [resource link_identifier] )取得最近一次與 link_identifier 關聯的 INSERT,UPDATE 或 DELETE 查詢所影響的記錄行數。
          •bool mysql_close ( [resource link_identifier] )如果成功則返回 TRUE,失敗則返回 FALSE。
          •int mysql_errno ( [resource link_identifier] )返回上一個 MySQL 函數的錯誤號碼,如果沒有出錯則返回 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 查詢所影響到的行的數目,用 mysql_affected_rows()。
          •resource mysql_query ( string query [, resource link_identifier] ) 向與指定的連接標識符關聯的服務器中的當前活動數據庫發送一條查詢。php如果沒有指定 link_identifier,則使用上一個打開的連接。如果沒有打開的連接,本函數會嘗試無參數調用 mysql_connect() 函數來建立一個連接并使用之。查詢結果會被緩存
          代碼如下:來源php教程中心
          . 代碼如下:
          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);

          有幫助
          (0)
          0%
          沒幫助
          (0)
          0%
          2018宝宝说数特来算 徐水县| 马山县| 平谷区| 乌拉特前旗| 平昌县| 宿迁市| 昔阳县| 天等县| 汉寿县| 凤庆县| 万荣县| 长岛县| 江永县| 育儿| 三穗县| 贵港市| 寿阳县| 象山县| 甘洛县| 务川| 团风县| 桂平市| 蒙自县| 米易县| 喀喇| 乡宁县| 永德县| 建瓯市| 建昌县| 亚东县| 台北市| 宁都县| 文水县| 泽州县| 偏关县| 东城区| 墨玉县| 灵台县| 措勤县| 龙海市| 行唐县| http://163.ngn4d7.top http://so.93a3ex.top http://163.2623i6.top http://m5.sinandv.pw http://500.q06tz6.top http://m.lsj05c.club