PHP数据库工具类class.mysql.php
?
开发PHP系统过程中,对数据库(mysql)的访问操作绝对免不了。
今天来介绍一个简单的数据库工具类class.mysql.php。
?
首先我们要有一个配置文件,用来存放连接数据库的各种信息和一些基本信息。
于是有了config.inc.php
?
// 定义数据库服务器define('DB_SERVER', "localhost");// 定义数据库登录名define('DB_USER', "root");// 定义数据库登录密码define('DB_PWD', null);// 定义数据库名称define('DB_DATABASE', "username_mydata");/*为了更高效的开发,推荐以下做法1. 定义表的前缀2. 用全局变量定义数据库表名*/define('TABLE_PRE', "stuot_");define('TABLE_USERS', "users");define('TABLE_NEWS', "news");注:用全局变量定义数据库表名可以方便系统的维护,因为一旦需要修改表名,只需要修改定义的内容就全局可以应用了。
?
接下来,我们来使用轻盈快捷的数据库工具类class.mysql.php
首先在php文件头,我们需要初始化数据库
?
require("config.inc.php");require("mysql.class.php"); // 这里定义文件名,看自己习惯吧$db = new Database(DB_SERVER, DB_USER, DB_PWD, DB_DATABASE);?
接下来介绍一下Mysql类
?
1. 变量
?
var $server = ""; //数据库服务器var $user = ""; //数据库登录用户名var $pass = ""; //数据库登录用户密码var $database = ""; //数据库名称var $pre = ""; //表前缀var $error = ""; //错误信息var $errno = 0; //错误代码//SQL查询后影响的行数var $affected_rows = 0;var $link_id = 0;var $query_id = 0;
?
?
2. 构造函数(php当中还是用“函数”比“方法”好)
?
function Mysql($server, $user, $pass, $database, $pre=''){$this->server=$server;$this->user=$user;$this->pass=$pass;$this->database=$database;$this->pre=$pre;}?
?
3. 连接数据库函数connect($new_link=false)
当以connect(true)调用的时候,将强制要求建立一个新的link,哪怕是之前已经以同样的参数调用了mysql_connect()。
?
function connect($new_link=false) {$this->link_id=@mysql_connect($this->server,$this->user,$this->pass,$new_link);if (!$this->link_id) {//建立连接失败$this->oops("Could not connect to server: <b>$this->server</b>.");}if(!@mysql_select_db($this->database, $this->link_id)) {//连接数据库失败$this->oops("Could not open database: <b>$this->database</b>.");}// 回收变量$this->server='';$this->user='';$this->pass='';$this->database='';}洋人写东西就是好玩,oops函数是显示错误信息函数,将在下面介绍。
?
4. 获取所有结果
# Desc: 返回所有结果# param: SQL SELECT语句# returns: assoc array of ALL fetched resultsfunction fetch_all_array($sql) {$query_id = $this->query($sql);$out = array();while ($row = $this->fetch_array($query_id)){$out[] = $row;}$this->free_result($query_id);return $out;}?
PHP开发当中结果的分页显示免不了,这个工具类在这方面有待改进。
?
& PHP OOP?? SCREW U!!