MySQL数据库类的定义

WBOY
リリース: 2016-06-07 16:18:16
オリジナル
985 人が閲覧しました

俗话说好的开始是成功的一半,而PHP+MySQL项目中数据库的操作是重点之一,能否简化数据库操作程序的编写,就成了影响工作效率的关键之一。 所以小阳并不是一开始就做页面,而是先建立一个dbclass.php文件,开始编写操作MySQL数据库的类dbClass。即在dbclass.

  俗话说“好的开始是成功的一半”,而PHP+MySQL项目中数据库的操作是重点之一,能否简化数据库操作程序的编写,,就成了影响工作效率的关键之一。

  所以小阳并不是一开始就做页面,而是先建立一个“dbclass.php”文件,开始编写操作MySQL数据库的类“dbClass”。即在“dbclass.php”中编写以下程序:

  $db_username="myusername"; //连接数据库的用户名

  $db_password="mypassword"; //连接数据库的密码

  $db_database="mydatabase"; //数据库名

  $db_hostname="localhost"; //服务器地址

  class dbClass{ //开始数据库类

  var $username;

  var $password;

  var $database;

  var $hostname;

  var $link;

  var $result;

  function dbClass($username,$password,$database,$hostname="localhost"){

  $this->username=$username;

  $this->password=$password;

  $this->database=$database;

  $this->hostname=$hostname;

  }

  function connect(){ //这个函数用于连接数据库

  $this->link=mysql_connect($this->hostname,$this->username,$this->password) or die("Sorry,can not connect to database");

  return $this->link;

  }

  function select(){ //这个函数用于选择数据库

  mysql_select_db($this->database,$this->link);

  }

  function query($sql){ //这个函数用于送出查询语句并返回结果,常用。

  if($this->result=mysql_query($sql,$this->link)) return $this->result;

  else {

  //这里是显示SQL语句的错误信息,主要是设计阶段用于提示。正式运行阶段可将下面这句注释掉。

  echo "SQL语句错误: $sql

  错误信息: ".mysql_error();

  return false;

  }

  }

  /*

  以下函数用于从结果取回数组,一般与 while()循环、$db->query($sql) 配合使用,例如:

  $result=query("select * from mytable");

  while($row=$db->getarray($result)){

  echo "$row[id] ";

  }

  */

  function getarray($result){

  return @mysql_fetch_array($result);

  }

  /*

  以下函数用于取得SQL查询的第一行,一般用于查询符合条件的行是否存在,例如:

  用户从表单提交的用户名$username、密码$password是否在用户表“user”中,并返回其相应的数组:

  if($user=$db->getfirst("select * from user where username=''$username'' and password=''$password'' "))

  echo "欢迎 $username ,您的ID是 $user[id] 。";

  else

  echo "用户名或密码错误!";

  */

  function getfirst($sql){

  return @mysql_fetch_array($this->query($sql));

  }

  /*

  以下函数返回符合查询条件的总行数,例如用于分页的计算等要用到,例如:

  $totlerows=$db->getcount("select * from mytable");

  echo "共有 $totlerows 条信息。";

  */

  function getcount($sql){

  return @mysql_num_rows($this->query($sql));

  }

  /*

  以下函数用于更新数据库,例如用户更改密码:

  $db->update("update user set password=''$new_password'' where userid=''$userid'' ");

  */

  function update($sql){

  return $this->query($sql);

  }

  /*

  以下函数用于向数据库插入一行,例如添加一个用户:

  $db->insert("insert into user (userid,username,password) values (null,''$username'',''$password'')");

  */

  function insert($sql){

  return $this->query($sql);

  }

  function getid(){ //这个函数用于取得刚插入行的id

  return mysql_insert_id();

  }

  }

  /*

  主要函数就是这些,如果你自己有另外的需要,也可以自己添加上去。

  因为凡使用该类的都必须连接数据库,下面就连接并选择好数据库吧:

  */

  $db=new dbClass("$db_username","$db_password","$db_database","$db_hostname");

  $db->connect();

  $db->select();

  ?>

  OK,数据库的类已经写好了,它不但可以用在目前这个项目中,其他项目的同样适用!只要把“dbclass.php”复制过去就行了。要用本文件的时候只要用语句“include_once("dbclass.php")”就行,具体语法在编写数据库类时已有举例,不再赘述。

  写好数据库的类后,数据库的操作就方便多了,项目的制作已跨出了重要的第一步。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート