仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1371|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网页设计本人编了一个mysql类。请斧正

[复制链接]
因胸联盟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:18:16 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我先把我自己学习PHP的过程做一下概括:mysql   文件名mysql.class.php
<?
//###################### Start Introduce #######################################
// mysql毗连类
// author: bluemaple , emaile: bluemaple@x263.net
// 可以履行普通mysql号令,如insert,delete,select,update
// 利用办法:在需求的文件后面到场
// require("./mysql.class.php");
// $DB=new DB_MYSQL;            // 加载类
// $DB->dbServer="localhost";   // 毗连数据库地址
// $DB->dbUser="root";          // 用户名
// $DB->dbPwd="";               // 暗码
// $DB->dbDatabase="we";        // 数据库称号
// $DB->connect();             // 毗连数据库
// 利用中可以更改数据库
// 可以用到的函数申明
// query($sql,$dbbase);         // 可以直接履行
// query_first($sql,$dbbase);   // 查询前往只要一笔记录,$sql为sql语句,$dbbase为你选者数据库(可以不要)
// fetch_array($sql,$dbbase);   // 查询前往一组纪录,可以用num_rows失掉前往的数字
// insert,update,delete 皆为履行号令,个中可用$affected_rows;失掉前往的数量
// 在insert时,可以用insert_id失掉拔出了局的前往id数
// count_records($table,$index,$where,$dbbase)// 为失掉一个表纪录的数量,$table为表名,$index为key,$where为前提,$dbbase为数据库,后两个可以不选
//####################### End Introduce ########################################

class DB_MYSQL          // 数据库mysql查询的类
{   
  var $dbServer;        // 数据库毗连办事地址
  var $dbDatabase;      // 所选择的数据库,初始形态
  var $dbbase="";       // 前面可以改动的
  var $dbUser;          // 上岸用户名
  var $dbPwd;           // 上岸用户暗码  
  var $dbLink;          // 数据库毗连指针
  var $query_id;        // 履行query号令的指针
  var $num_rows;        // 前往的条目数
  var $insert_id;       // 传回最初一次利用 INSERT 指令的 ID
  var $affected_rows;   // 传回query号令所影响的列数量
                  // INSERT、UPDATE 或 DELETE 所影响的列 (row) 数量。
                  // delete 假如不带where,那末则前往0
     
  function connect($dbbase="")    // 毗连数据库函数,包含毗连数据库
        {
         global $usepconnect;   // 是不是采取永世毗连,$userpconnect在内部设置。
         if ($usepconnect==1){
                $this->dbLink=@mysql_pconnect($this->dbServer,$this->dbUser,$this->dbPwd);
                              } else {
                $this->dbLink=@mysql_connect($this->dbServer,$this->dbUser,$this->dbPwd);
                }
          if(!$this->dbLink) $this->halt("毗连失足,没法毗连!!!");
          if ($dbbase=="") {
            $dbbase=$this->dbDatabase;
            }                        
        if(!mysql_select_db($dbbase, $this->dbLink))  // 毗连数据库
                          { $this->halt("不克不及够用这个数据库,请反省这个数据库是不是准确!!!");}
          }
  
  function change_db($dbbase=""){ // 改动数据库
      $this->connect($dbbase);
      }

  function query_first($sql,$dbbase=""){ // 前往一个值的sql号令
      $query_id=$this->query($sql,$dbbase);
        $returnarray=mysql_fetch_array($query_id);
        $this->num_rows=mysql_num_rows($query_id);
      $this->free_result($query_id);      
      return $returnarray;
      }
  
  function fetch_array($sql,$dbbase="",$type=0){ // 前往一个值的sql号令
                           // type为传递值是name=>value,仍是4=>value
      $query_id=$this->query($sql,$dbbase);
      $this->num_rows=mysql_num_rows($query_id);
      for($i=0;$i<$this->num_rows;$i++){
          if($type==0)
              $array[$i]=mysql_fetch_array($query_id);
          else
              $array[$i]=mysql_fetch_row($query_id);
          }
      $this->free_result($query_id);
      return $array;
      }
  
  function delete($sql,$dbbase=""){ // 删除号令
      $query_id=$this->query($sql,$dbbase);
      $this->affected_rows=mysql_affected_rows($this->dbLink);
      $this->free_result($query_id);
        }
  
  function insert($sql,$dbbase=""){ // 拔出号令
      $query_id=$this->query($sql,$dbbase);
      $this->insert_id=mysql_insert_id($this->dbLink);
      $this->affected_rows=mysql_affected_rows($this->dbLink);
      $this->free_result($query_id);
        }
  
  function update($sql,$dbbase=""){  //  更新号令
      $query_id=$this->query($sql,$dbbase);
      $this->affected_rows=mysql_affected_rows($this->dbLink);      
      $this->free_result($query_id);
      }
  
  function count_records($table,$index="id",$where="",$dbbase=""){ // 纪录总共表的数量
                                                   // where为前提
                                                   // dbbase为数据库
                                                   // index为所选key,默许为id
        if($dbbase!="") $this->change_db($dbbase);
        $result=@mysql_query("select count(".$index.") as 'num' from $table ".$where,$this->dbLink);
        if(!$result) $this->halt("毛病的SQL语句: ".$sql);
        @$num = mysql_result($result,0,"num");     
        return $num;
      }
  
  function query($sql,$dbbase=""){   // 履行queyr指令
      if($dbbase!="") $this->change_db($dbbase);
    $this->query_id=@mysql_query($sql,$this->dbLink);
    echo "d";
    if(!$this->query_id) $this->halt("毛病的SQL语句: ".$sql);
    return $this->query_id;
      }
   
  function halt($errmsg)  // 数据库失足,没法毗连胜利
        {
            $msg="<h3><b>数据库失足!</b></h3><br>";
            $msg.=$errmsg;
            echo $msg;
            die();
      }

  function free_result($query_id)  // 释放query选者
        {
        @mysql_free_result($query_id);
        }

  function close()        //封闭数据库毗连
        {
      mysql_close($this->dbLink);
        }
}
?>

以下是利用办法

text.php
<?
require("./mysql.class.php");
$DB=new DB_MYSQL;
$DB->dbServer="localhost";
$DB->dbUser="root";
$DB->dbPwd="";
$DB->dbDatabase="we";
$DB->connect(); // 毗连数据库
?>
  不断巩固,摸透大部分PHP常用函数,并可理解OOP,MYSQL优化,以及模板
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-22 13:54

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表