热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据库类php,数据库操作类(PHP/mysql)

var$dbhostname;var$dbname;var$dbuser;var$dbpassword;var$connid;var$query;var$result;var$re

var$dbhostname;

var$dbname;

var$dbuser;

var$dbpassword;

var$connid;

var$query;

var$result;

var$resultid;

var$insertid;

var$rows;

var$errCode=0;

var$errString="";

var$debugString="";

var$xml="";/* 构造函数 */functionDatabase()

{$this->dbhostname="localhost";//登录数据库主机名$this->dbname="yourdb";/数据库名$this->dbuser="root";//数据库登录用户名$this->dbpassword="";//数据库登录密码$this->_connect();//连接数据库$this->_db_select();//选择数据库}/* 数据库执行函数, $type 执行操作类型, ""为查询, "update"为更新, "insert"为插入, "delete"为删除 */functiondb_query($sql,$type)

{$this->query=$sql;

if ($this->_query())

{

if(empty($type))

{$this->_num_rows();//返回查询的函数$this->result=$this->_fetch_array();//返回查询结果}

if ($type=="insert")

{$this->insertid=@mysql_insert_id();//返回插入的ID自动增量}

returntrue;

}

else

returnfalse;

}/* 数据库结果生成XML */functioncreateXML($itemroot="child",$item="root")

{$dom= newDOMDocument("1.0","utf-8");$dom->preserveWhiteSpace=false;$dom->formatOutput=true;$rootNode=$dom->createElement($item);

for($i=0;$iresult);$i++)

{$itemNode=$dom->createElement($itemroot);

foreach($this->result[$i] as$key=>$value)

{//$value = iconv("gb2312","utf-8",$value);$tmpNode=$dom->createElement($key,$value);$itemNode->appendChild($tmpNode);

}$rootNode->appendChild($itemNode);

}$dom->appendChild($rootNode);

if ($this->xml=$dom->saveXML())

return$this->xml;

else

returnfalse;

}/* 连接数据库 */function_connect()

{$this->connid= @mysql_connect($this->dbhostname,$this->dbuser,$this->dbpassword);

if (false==$this->connid)

{$this->errCode=1;$this->errString="不能连接数据库!";$this->debugString="不能连接数据库: ".mysql_error();$this->showErr();

returnfalse;

}

else

returntrue;

}/* 选择数据库 */function_db_select()

{$selectFlag= @mysql_select_db($this->dbname,$this->connid);

if (false==$selectFlag)

{$this->errCode=2;$this->errString="不能选择数据库!";$this->debugString="不能选择数据库: ".$this->dbname;$this->showErr();

returnfalse;

}

else

returntrue;

}/* 数据库查询语句 */function_query()

{$this->resultid= @mysql_query($this->query,$this->connid);

if (false==$this->resultid)

{$this->errCode=3;$this->errString="数据库查询语句错误!";$this->debugString="数据库查询语句错误: ".$this->query.mysql_error();$this->showErr();

returnfalse;

}

else

returntrue;

}/* 返回查询记录总数 */function_num_rows()

{$this->rows= @mysql_num_rows($this->resultid);

}/* 返回结果数组 */function_fetch_array()

{

if ($this->errCode!=3)

{$tmpResult="";$i=0;

while ($row=mysql_fetch_array($this->resultid,MYSQL_ASSOC))

{$tmpResult[$i] =$row;$i++;

}//end while.return empty($tmpResult) ?NULL:$tmpResult;

}

}/* 显示错误信息 $debugString用于调试,$errString用于给客户显示 */functionshowErr()

{//echo $this->debugString."/n";}/* 关闭连接,释放内存 */functionclose()

{

@mysql_free_result($this->resultid);

@mysql_close($this->connid);

}

function__destruct()

{

if($this->connid)

{$this->close();

}

}

}/* 数据库查询类  end*/?>



推荐阅读
  • 本文主要复习了数据库的一些知识点,包括环境变量设置、表之间的引用关系等。同时介绍了一些常用的数据库命令及其使用方法,如创建数据库、查看已存在的数据库、切换数据库、创建表等操作。通过本文的学习,可以加深对数据库的理解和应用能力。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 延迟注入工具(python)的SQL脚本
    本文介绍了一个延迟注入工具(python)的SQL脚本,包括使用urllib2、time、socket、threading、requests等模块实现延迟注入的方法。该工具可以通过构造特定的URL来进行注入测试,并通过延迟时间来判断注入是否成功。 ... [详细]
  • 移动端常用单位——rem的使用方法和注意事项
    本文介绍了移动端常用的单位rem的使用方法和注意事项,包括px、%、em、vw、vh等其他常用单位的比较。同时还介绍了如何通过JS获取视口宽度并动态调整rem的值,以适应不同设备的屏幕大小。此外,还提到了rem目前在移动端的主流地位。 ... [详细]
  • 本文介绍了使用Python解析C语言结构体的方法,包括定义基本类型和结构体类型的字典,并提供了一个示例代码,展示了如何解析C语言结构体。 ... [详细]
author-avatar
虹彩戳穿_525
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有