自己写的php数据库类

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:
不是很全,待补
 
class_database.php
 
<?php 
/** 
*数据库类 
*/
    
class DataBase 

  var $pConnect=FALSE; //是否使用长连接 
  var $mHost; //数据库主机 
  var $mDatabase;    
  var $db;  //数据库 
  var $mUser; //数据库用户名 
  var $mPwd; //数据库用户密码 
  var $mConn; //连接标识 
  var $result; // 执行query命令的结果资源标识 
  var $num_rows; // 返回的条目数 
  var $insert_id; // 传回最后一次使用 INSERT 指令的 ID 
  var $affected_rows; // 传回query命令所影响的列数目 
                              // INSERT、UPDATE 或 DELETE 所影响的列 (row) 数目。 
                              // delete 如果不带where,那么则返回0 
   //构造函数 
   public function __construct($host,$user,$pwd,$db) 
  { 
    $ this->mHost=$host; 
    $ this->mUser=$user; 
    $ this->mPwd=$pwd; 
    $ this->db=$db;    
  }            
    
   //数据库连接                 
   public function connect() 
  { 
     if($ this->pConnect) 
    $ this->mConn=mysql_pconnect($ this->mHost,$ this->mUser,$ this->mPwd); //长连接 
     else 
    $ this->mConn=mysql_connect($ this->mHost,$ this->mUser,$ this->mPwd); //short connect 
 
     if(!$ this->mConn) $ this->dbhalt( "不能连接数据库!"); 
     if($ this->db=="") $ this->db=$ this->dbDatabase; 
     
     if(!mysql_select_db($ this->db,$ this->mConn)) 
    $ this->dbhalt( "数据库不可用!"); 
  }  // eof#dbconnect() 
 
   //更改数据库 
   public function dbChange($db){ 
    $ this->db=$db; 
    $ this->connect(); 
  } 
 
   //执行SQL语句,返回结果资源id 
   public function execute($sql){ 
    $ this->result=mysql_query($sql); 
     return $ this->result; 
  } 
 
   //获取数组-索引和关联 
   public function fetchArray($resultType=MYSQL_BOTH) 
  { 
     return mysql_fetch_array($ this->result,$resultType); 
  } 
    
   //获取关联数组 
   public function fetchAssoc() 
  { 
     return mysql_fetch_assoc($ this->result); 
  }    
    
   //获取数字索引数组 
   public function fetchIndexArray() 
  { 
     return mysql_fetch_row($ this->result); 
  } 
    
   //获取对象数组 
   public function fetchObject() 
  { 
     return mysql_fetch_object($ this->result); 
  }        
    
   //返回记录行数 
  function numRows() 
  { 
     return mysql_num_rows($ this->result); 
  } 
 
   //返回主机中所有数据库名 
   public function dbNames() 
  { 
    $rsPtr=mysql_list_dbs($ this->mConn); 
    $i=0; 
    $cnt=mysql_num_rows($rsPtr); 
     while($i<$cnt) 
    { 
      $rs[]=mysql_db_name($rsPtr,$i); 
      $i++; 
    } 
     return $rs; 
  } 
 
  function dbhalt($errmsg){ 
    $msg= "数据库有问题!"
    $msg=$errmsg; 
    echo "$msg"
    die(); 
  } 
 
   //删 
  function delete($sql){ 
    $result=$ this->execute($sql,$dbbase); 
    $ this->affected_rows=mysql_affected_rows($ this->dbLink); 
    $ this->free_result($result); 
     return $ this->affected_rows; 
  } 
 
   //增 
  function insert($sql){ 
    $result=$ this->execute($sql,$dbbase); 
    $ this->insert_id=mysql_insert_id($ this->dbLink); 
    $ this->free_result($result); 
     return $ this->insert_id; 
  } 
 
   //改 
  function update($sql){ 
    $result=$ this->execute($sql,$dbbase); 
    $ this->affected_rows=mysql_affected_rows($ this->dbLink); 
    $ this->free_result($result); 
     return $ this->affected_rows; 
  } 
    
   //关闭连接 
  function dbclose(){ 
    mysql_close($ this->dbLink); 
  } 
} // end class 
?> 
 
 
 
简单使用下:
 
<?php 
include  "class_database.php"
 
$mydb= new DataBase( "localhost", "root", "123456", "test"); 
$mydb->connect(); 
$mydb->execute( "set names GBK"); 
$mydb->execute( "select * from usrs"); 
print_r($mydb->dbNames()); 
?>





本文转自 xcf007 51CTO博客,原文链接:http://blog.51cto.com/xcf007/107510,如需转载请自行联系原作者


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
存储 SQL 关系型数据库
PHP与数据库交互:从基础到进阶
【10月更文挑战第9天】在编程的世界里,数据是流动的血液,而数据库则是存储这些珍贵资源的心脏。PHP作为一门流行的服务器端脚本语言,其与数据库的交互能力至关重要。本文将带你从PHP与数据库的基本连接开始,逐步深入到复杂查询的编写和优化,以及如何使用PHP处理数据库结果。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供宝贵的知识和技巧,让你在PHP和数据库交互的道路上更加从容不迫。
|
3月前
|
NoSQL 关系型数据库 MySQL
不是 PHP 不行了,而是 MySQL 数据库扛不住啊
【9月更文挑战第8天】这段内容讨论了MySQL在某些场景下面临的挑战及其原因,并指出这些问题不能完全归咎于MySQL本身。高并发读写压力、数据量增长以及复杂查询和事务处理都可能导致性能瓶颈。然而,应用程序设计不合理、系统架构不佳以及其他数据库选择和优化策略不足也是重要因素。综合考虑这些方面才能有效解决性能问题,而MySQL通过不断改进和优化,仍然是许多应用场景中的可靠选择。
162 9
|
4月前
|
SQL NoSQL 关系型数据库
实时数仓Hologres发展问题之实时数仓的类数据库化与HTAP数据库的差异如何解决
实时数仓Hologres发展问题之实时数仓的类数据库化与HTAP数据库的差异如何解决
60 2
|
22天前
|
SQL 存储 BI
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
gbase 8a 数据库 SQL合并类优化——不同数据统计周期合并为一条SQL语句
|
1月前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
39 1
|
3月前
|
NoSQL 关系型数据库 PHP
php连接数据库
要使用PHP连接PolarDB或MongoDB数据库,需先准备连接信息,并编写相应代码。对于PolarDB,需设置主机地址、端口、数据库名及凭据,使用`pg_connect`函数建立连接;而对于MongoDB副本集,需安装MongoDB PHP驱动,通过`MongoDB\Client`连接指定的副本集实例。请确保替换示例代码中的占位符为实际值,并正确配置副本集名称和主机信息。更多详细信息与示例代码,请参考相关链接。
167 72
|
2月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP开发领域,设计模式是解决常见问题的高效方案集合。它们不是具体的代码,而是一种编码和设计经验的总结。单例模式作为设计模式中的一种,确保了一个类仅有一个实例,并提供一个全局访问点。本文将深入探讨单例模式的基本概念、实现方式及其在PHP中的应用。
单例模式在PHP中的应用广泛,尤其在处理数据库连接、日志记录等场景时,能显著提高资源利用率和执行效率。本文从单例模式的定义出发,详细解释了其在PHP中的不同实现方法,并探讨了使用单例模式的优势与注意事项。通过对示例代码的分析,读者将能够理解如何在PHP项目中有效应用单例模式。
|
3月前
|
SQL 关系型数据库 数据库连接
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
本文介绍了PHP中PDO(PHP Data Objects)扩展的基本概念和使用方法。内容包括PDO类和PDOStatement类的介绍,PDO的简单使用,预定义占位符的使用方法,以及PDOStatement对象的使用。文章还讨论了绑定预定义占位符参数的不同形式,即bindValue和bindParam的区别。通过具体示例,展示了如何使用PDO进行数据库连接、数据查询、数据插入等操作。
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
|
3月前
|
SQL 关系型数据库 MySQL
php学习笔记-连接操作mysq数据库(基础)-day08
本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
php学习笔记-连接操作mysq数据库(基础)-day08
|
3月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
52 2
下一篇
DataWorks