最新消息:

PHP类第1款:mysql.class.php数据库mysql连接类

PHP模块 杨红伟 7375浏览 0评论

一、类介绍

说实话,网络上的PHP数据库类实在太多了,多的都无法用语言描述。像开源系统的类,每家都不一样,各有各的区别。现在我为大家介绍的是一款常用的,在项目中用到的类。这款类,包括如下内容:

1、query 查询
2、get_one 获取一条数据
3、get_all 获取全部数据
4、insert 插入数据
5、update 更新数据
6、delete 删除数据
7、fetch_array 返回结果集
8、num_rows 获取结果条数
9、free_result 释放结果集
10、insert_id 获取最后插入的id
11、close 关闭数据库连接
12、halt 错误提示
13、write_log 写入日志文件
14、microtime_float 获取毫秒数
15、db_affected_rows 根据insert,update,delete执行结果取得影响行数
16、mysql_server 取得 MySQL 服务器信息

二、图片展示、演示及下载

 

三、预备内容

首先,我们举的例子是把这些内容放在根目录下,在实际过程中你可以将它们放到自己定义的目录下。

先把 MySQL.class.php 和 config.db.php 放到根目录下。自然 MySQL.class.php 是 mysql 的数据类,而config.db.php是写在 MySQL.class.php 的一个配置文件,为了配置方便,所以把它独立出来了,使用的时候注意下就可以。类呢,比较长,就不放出来了,下载下来用就可以。我们在 config.db.php 做一些配置。

config.db.php

<?php
    $db_config["hostname"] = "localhost"; //服务器地址
    $db_config["username"] = "root"; //数据库用户名
    $db_config["password"] = "root"; //数据库密码
    $db_config["database"] = "ijqueryphp"; //数据库名称
    $db_config["charset"] = "utf8";//数据库编码
    $db_config["pconnect"] = 1;//1开启持久连接,0不开启
    $db_config["log"] = 1;//1开启日志,0不开启
    $db_config["logfilepath"] = './';//开启日志的位置,可以自定义,默认会在该位置下生成 dblog.txt
?>

再把 ijqueryphp数据库 的测试数据库放置在这里,以备及时使用

DROP TABLE IF EXISTS `php_users`;
CREATE TABLE `php_users` (
  `user_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  `user_name` varchar(60) NOT NULL DEFAULT '',
  `user_phone` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`user_id`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;

INSERT INTO `php_users` VALUES (1,'hongwei1','15947270499');
INSERT INTO `php_users` VALUES (2,'hongwei2','18903467858');

四、类的使用方法

首先引用并实例化

//引用
require_once 'mysql.class.php';
$db = new DB();

1、获取记录条数 num_rows  

请看 http://www.ijquery.cn/phpclass/mysql/num_rows.php

$sql = "select * from php_users";
$query = $db ->query($sql);
$num = $db ->num_rows($query);
echo $num;

返回结果是 2 ;

2、fetch_array 返回结果集

请看 http://www.ijquery.cn/phpclass/mysql/fetch_array.php

$sql = "select * from php_users";
$query = $db ->query($sql);
$results = $db->fetch_array($query);
print_r($results);

返回的结果是:

Array (  [user_id] => 1  [user_name] => hongwei1  [user_phone] => 15947270499 ) 

3、get_one 查询一条语句

请看 http://www.ijquery.cn/phpclass/mysql/get_one.php

$sql_one = "select * from php_users where user_id =2";
$result = $db->get_one($sql_one);
print_r($result) ;

返回的结果是:

Array (  [user_id] => 2  [user_name] => hongwei2  [user_phone] => 18903467858 ) 

4、get_all 查询数据表中的全部语句

请看 http://www.ijquery.cn/phpclass/mysql/get_all.php

$sql = "select * from php_users";
$result = $db->get_all($sql);
print_r($result);

返回的结果是:

Array (  [0] => Array  (  [user_id] => 1  [user_name] => hongwei1  [user_phone] => 15947270499  )   [1] => Array  (  [user_id] => 2  [user_name] => hongwei2  [user_phone] => 18903467858  )  ) 

5、insert 插入一条数据进入数据库

$arr= array("user_name"=>"hongwei3","user_phone"=>"13934217825");
$db->insert('php_users', $arr);

返回的结果是,下边红框内便是新增加的

6、insert_id 获取最后插入的id

$arr= array("user_name"=>"hongwei4","user_phone"=>"13934217826");
$db->insert('php_users', $arr);
$a = $db->insert_id();
echo $a;

返回的结果是22 .


7、update 更新数据进入数据库

$arr_update =array("user_name"=>"hongwei33","user_phone" =>"13934217828");
$condition = "user_name='hongwei3'";
$db->update('php_users', $arr_update,$condition);

返回的结果如图:

8、delete 删除数据

$condition = " user_name='hongwei33'";
$db->delete("php_users",$condition);

返回的结果如下图,已经没有hongwei33的全部数据了:

9、db_affected_rows 根据insert,update,delete执行结果取得影响行数

请看 http://www.ijquery.cn/phpclass/mysql/db_affected_rows.php

$sql = "select * from php_users";
$db->get_all($sql);
$result = $db->db_affected_rows();
echo $result;

10、mysql_server 取得 MySQL 服务器信息

http://www.ijquery.cn/phpclass/mysql/mysql_server.php

//MySQL 服务器信息
$info1=$db->mysql_server(1);
echo "MySQL 服务器信息:".$info1."<br/>";

//取得 MySQL 主机信息
$info2=$db->mysql_server(2);
echo "MySQL 主机信息:".$info2."<br/>";

//取得 MySQL 客户端信息
$info3=$db->mysql_server(3);
echo "MySQL 客户端信息:".$info3."<br/>";

//取得 MySQL 协议信息
$info4=$db->mysql_server(4);
echo "MySQL 协议信息:".$info4."<br/>";

//取得mysql 版本信息
$info5=$db->mysql_server(5);
echo "MySQL 版本信息:".$info5."<br/>";

查看结果就是:

五、查看记录

上边我们提到了会在根目录下生成 dblog.txt 文件,如下图,会有我们操作的全部记录。


Warning: Use of undefined constant PRC - assumed 'PRC' (this will throw an Error in a future version of PHP) in /www/wwwroot/www.ijquery.cn/wp-content/themes/d8-3.0/comments.php on line 17
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址