您的位置:首页 > 编程语言 > PHP开发

php学习笔记(数据库连接工具类)

2010-08-01 00:55 113 查看

公司要用php,最近学了php,自己检讨、总结一下自己的学习过程.

程序最基本的组成就是数据, 先看总结一下连接数据库,虽然网上也有不少这样的资料,但我不如自己总结一下,这样更能加深理解。php oop编程 我也是根据java 的思想来学习。 废话不多说。看下面的链接数据库的类,可能写的不好,大家可以给点意见,共同学习。

 

 

1:现在根目录下创建一个名为——> config.php的文件 用来保存 数据库的基本配置信息

 

<?php
/*
* Created on 2010-8-1
*
* <B>数据库的基本配置信息</B>
* @author wangyalei
*
*/

// 配置文件路径
define("WEB_ROOT",strtr(dirname(__FILE__),"\\","/")."/");
//mysql database address
define('DB_HOST','localhost');
//mysql database user
define('DB_USER','root');
//database password
define('DB_PASSWD','');
//database name
define('DB_NAME','test');

?>

 

 以上用了一点关于处理字符串的用法 strtr (和 strstr的写法很像,但实现的功能可不一样)可以看文档,以后我也会整理一些关于字符串处理的文章

 

 

2: 在lib文件夹中写mysql.class.php

 

<?php
error_reporting(E_ERROR); // 一般 开发的时候不设置这个属性 关闭所有错误信息
/***********
*<b>一个mysql数据库连接类<b>
*<p>
* 采用常见的单例模式
* @version php5
* @author wangyalei
*/

// 引发数据库的基本配置文件
require_once "../config.php";

final class mysql {

private $con;// 数据库的链接对象

private $result;// 数据结果集

private static $Instatnce = null; // 内部的实力对象

//一个私有的构造
private function __construct() {

//判断是否支持mysql数据库
if(!function_exists("mysql_connect")){
echo "不支持mysql数据库";
exit;
}

// 连接数据库

if(!$this->con = mysql_connect(DB_HOST,DB_USER,DB_PASSWD)){

echo "连接数据库失败";
exit;
}

// 设置连接数据库的名称
@mysql_select_db(DB_NAME,$this->con) or die("没有找到数据库");

}

/*******
* 实例化链接对象的实例对象
* @return object 连接数数据库的实例对象
*/
public static function getInstance(){

// 判断是否实力对象已经存在

if(self::$Instatnce==null){

self::$Instatnce = new MySql();
}

return self::$Instatnce;

}

/**********
* 执行sql 语句
* @param string $sql 要执行的sql
* @return  bool true and false
*
*/
public function query($sql){

$this->result = mysql_query($sql,$this->con);
if(!$this->result){

echo "执行sql语句出错了";
exit;

}else{

return $this->result;
}

}

/*********
* 从结果集中取得一行作为关联数组/数字索引数组
* @param datatype paramname
* @return $query 返回根据从结果集取得的行生成的数组,如果没有更多行则返回 FALSE。
*/
public function fetch_array($query){

return mysql_fetch_array($query);
}

/*******
*
* 取得查询时返回的影响函数
* @param string $query 结果集
* 0@return int 返回结果集中行的数目。此命令仅对 SELECT 语句有效
*
*/
public function row_num($query){

return  mysql_num_rows($query);
}

/*******
*
* 取得查询时返回的影响函数
* @param string $query 结果集
* @return int 执行成功则返回受影响的行的数目,如果最近一次查询失败的话,函数返回 -1。
*
*/
public function affected_fields(){

return mysql_affected_rows();

}

/**
* 取得上一步 INSERT 操作产生的 ID
*
* @return integer
*/
function insert_id() {
return mysql_insert_id($this->conn);
}

/*******
* 关闭数据库的连接
*/
public function close(){

mysql_close($this->con);

}

}
?>

 

一个关于mysql连接的工具类这样 这个也可以更改成数据库的通用类 有空在与大家交流

 

 

 

 

 

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: