设为首页 收藏本站
查看: 851|回复: 0

[经验分享] php学习笔记(数据库连接工具类)

[复制链接]

尚未签到

发表于 2017-4-7 10:45:40 | 显示全部楼层 |阅读模式
  公司要用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连接的工具类这样 这个也可以更改成数据库的通用类 有空在与大家交流

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-361443-1-1.html 上篇帖子: php get_meta_tags函数-字符串处理函数库 下篇帖子: 请重视301、302跳转的PHP实现
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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