PHP实现MySQL数据库连接类
"该资源提供了一个名为`clsMysql`的PHP类,用于连接MySQL数据库。这个类包含了数据库连接的基本属性如主机名、用户名、密码、数据库名、字符编码等,并提供了构造函数来初始化这些参数。同时,它还支持持久连接(`$myPconn`)和错误处理选项。类中包含的方法有打开数据库连接(`openDbconn`),执行SQL语句(`sql`)以及可能存在的其他数据库操作方法(虽然在给出的部分内容中未显示)。" 在这个`clsMysql` PHP类中,我们看到的主要知识点包括: 1. **数据库连接属性**:类中有多个私有属性,如`$myDbhost`(数据库主机)、`$myDbuser`(数据库用户名)、`$myDbwd`(数据库密码)、`$myDbname`(数据库名)、`$myCode`(字符编码)和`$myPconn`(是否开启持久连接)。这些都是建立数据库连接所需的关键参数。 2. **构造函数**:`__construct`方法用于初始化类的实例,接收上述数据库连接属性作为参数,将它们赋值给相应的类属性。此外,还可以通过`$errorOpen`参数设置错误处理模式(是否显示错误信息),并通过`$errorPath`指定错误日志的保存位置。 3. **数据库连接**:类中有一个名为`openDbconn`的方法,用于打开到MySQL服务器的连接。如果`$myPconn`设置为1,表示使用持久连接;否则,使用常规的非持久连接。`mysql_pconnect`和`mysql_connect`是PHP中用于连接MySQL的函数,前者创建一个可重用的连接,而后者每次请求都会创建新的连接。 4. **字符编码**:`$myCode`属性允许指定字符集,例如'gb2312',这在处理中文数据时尤为重要,确保数据能正确地存储和检索。 5. **错误处理**:`$errorOpen`属性控制是否在遇到错误时显示错误信息。默认设置为0,表示不显示错误信息,这在生产环境中通常是必要的,以防止敏感信息泄露。如果设置为1,则会显示错误信息,便于调试。同时,`$errorPath`可以设置错误日志的保存路径,帮助开发者追踪和分析问题。 6. **SQL执行**:虽然在提供的代码片段中没有展示,但通常这类数据库类还会包含执行SQL查询或命令的方法,如`sql`,这可能接受一个SQL语句作为参数,然后使用`mysql_query`等函数执行该语句并返回结果。 7. **MySQL扩展的使用**:请注意,这里的`mysql_`系列函数是PHP较旧的MySQL扩展,对于新项目,推荐使用`mysqli`或`PDO`扩展,因为`mysql_`在PHP 7.0版本后已被弃用,可能存在安全风险和性能问题。 8. **面向对象编程**:`clsMysql`是一个面向对象的例子,它封装了数据库连接和操作,使得在实际项目中可以方便地复用和管理数据库连接,提高了代码的可维护性和可读性。 综合以上知识点,我们可以了解到这个`clsMysql`类提供了一种结构化的方式来管理PHP与MySQL之间的交互,包括连接数据库、执行SQL语句和错误处理。然而,为了完全利用这个类,我们需要补充执行SQL和处理结果集的方法,以及可能的关闭连接和异常处理机制。
<?php
/*
*PHP连接数据库类
*属性:主机名($myDbhost)、用户名($myDbuser)、密码($myDbwd)、数据库名($myDbname)、编码($myCode)、连接($myPconn)、sql($mySql)、连接标识($linkId)
*/
class clsMysql
{
protected $myDbhost='';//数据库主机名
protected $myDbuser='';//数据库用户名
protected $myDbwd='';//数据库用户密码
protected $myDbname='';//数据库名
protected $myCode='';//数据库执行编码
protected $myPconn=0;//默认0为临时,1为持久
protected $mySql='';
protected $linkId='';
protected $errorPath='';
protected $errorOpen=0;//0表示关闭错误信息,1表示打开错误信息
/*构造函数
*参数:主机名、用户名、密码、数据库名、编码、连接
*/
public function __construct($myDbhost,$myDbuser,$myDbwd,$myDbname,$errorOpen=0,$errorPath='error',$myCode='gb2312',$myPconn=0)
{
//初始化属性
// error_reporting(0);
$this -> myDbhost=$myDbhost;
$this -> myDbuser=$myDbuser;
$this -> myDbwd=$myDbwd;
$this -> myDbname=$myDbname;
$this -> myCode=$myCode;
$this -> errorPath=$errorPath;
$this -> errorOpen=$errorOpen;
}
//连接数据库
public function openDbconn()
{
//判断连接
if($this -> myPconn)
{
$this -> linkId = mysql_pconnect($this -> myDbhost,$this -> myDbuser,$this -> myDbwd);
}
else
{
$this -> linkId = mysql_connect($this -> myDbhost,$this -> myDbuser,$this -> myDbwd);
}
if(!$this -> linkId)
{
if($this -> errorOpen)
$this -> errProc($this -> mysqlNo(),$this -> mysqlError(),$_SERVER['SCRIPT_NAME'],$this -> sql);
return false ;
}
}
//选择数据
public function selectedDb()
{
$cn=mysql_select_db($this -> myDbname) ;
if(!$cn)
{
if($this -> errorOpen)
剩余8页未读,继续阅读
- 粉丝: 1
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- ExtJS 2.0 入门教程与开发指南
- 基于TMS320F2812的能量回馈调速系统设计
- SIP协议详解:RFC3261与即时消息RFC3428
- DM642与CMOS图像传感器接口设计与实现
- Windows Embedded CE6.0安装与开发环境搭建指南
- Eclipse插件开发入门与实践指南
- IEEE 802.16-2004标准详解:固定无线宽带WiMax技术
- AIX平台上的数据库性能优化实战
- ESXi 4.1全面配置教程:从网络到安全与实用工具详解
- VMware ESXi Installable与vCenter Server 4.1 安装步骤详解
- TI MSP430超低功耗单片机选型与应用指南
- DOS环境下的DEBUG调试工具详细指南
- VMware vCenter Converter 4.2 安装与管理实战指南
- HP QTP与QC结合构建业务组件自动化测试框架
- JsEclipse安装配置全攻略
- Daubechies小波构造及MATLAB实现