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

phpclass的申明与使用方法-PHP源码

下面来看看在很多程序语言中会使用到的class吧,现在会举个简单的实例来实现phpclass,类申明,class使用方法哦。
下面来看看在很多程序语言中会使用到的class吧,现在会举个简单的实例来实现php class,类申明,class使用方法哦。

/*
* Explorer! 函数库
* 编写日期:2008-06-29
* 最后更新:2008-07-18 2:08
*
*/
class System{//系统部分
function usr_level($name){
$SQL = new MySQL();
$SQL->Query("SELECT `level` FROM `members` WHERE `username` = '$name';");
$SQL->NextRecord();
$TMP = $SQL->GetRecord('level');
$SQL->Free();
return $TMP;
}
function channel_level($cid){
$SQL = new MySQL();
$SQL->Query("SELECT `level` FROM `channels` WHERE `id` = $id;");
$SQL->NextRecord();
$TMP = $SQL->GetRecord('id');
$SQL->Free();
return $TMP;
}
function uid2name($uid){
$SQL = new MySQL();
if($SQL->Query("SELECT `username` FROM `members` WHERE `uid` = $uid;")){
$SQL->NextRecord();
$TMP = $SQL->GetRecord('username');
$SQL->Free();
return $TMP;
}else{
return 0;
}
}
function name2uid($name){
$SQL = new MySQL();
if($SQL->Query("SELECT `uid` FROM `members` WHERE `username` = '$name';")){
$SQL->NextRecord();
$TMP = $SQL->GetRecord('uid');
$SQL->Free();
return $TMP;
}else{
return 0;
}
}
function sysinfo($Name){//获取系统信息
$SQL = new MySQL();
$SQL->Query("SELECT * FROM `sysinfo`;");
$SQL->NextRecord();
$TMP = $SQL->GetRecord($Name);
$SQL->Free();
return $TMP;
}
function find_member($name){//查找该用户(注册时需要)
$SQL = New MySQL();
$SQL->Query("SELECT * FROM `members` WHERE `username` = '$name';");
$RS = $SQL->RowS();
$SQL->Free();
if($RS)
return 1;
else
return 0;
}
function str_safe($str){//字符串安全过滤
$str = str_replace($str,";",";");
$str = str_replace($str,"'","‘");
$str = str_replace($str,"/","/");
$str = str_replace($str,""`,"`");
$str = str_replace($str,"\","\");
return $str;
}
function GetMyIP()
{
if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])
$ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
elseif ($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])
$ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"])
$ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
elseif (getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
elseif (getenv("HTTP_CLIENT_IP"))
$ip = getenv("HTTP_CLIENT_IP");
elseif (getenv("REMOTE_ADDR"))
$ip = getenv("REMOTE_ADDR");
else
$ip = "127.0.0.1";
return $ip;
}
function Version(){
return "1.0.9";
}
}
class MySQL{//数据库部分
var $DBServer = 'localhost';//服务器
var $DBName = '';//数据库名称
var $DBUser = '';//数据库用户
var $DBPass = '';//数据库密码
var $OnErrorResume= 1;//错误提示关闭
var $LinkID = 0;//连接句柄
var $QueryID = 0;//查询句柄
var $ResultS = array();//查询结果集
var $Error = '';//错误信息
function Connect($Srv = "",$Usr = "",$Pass = "",$DB = ""){//连接数据库
if($Srv == "") $Srv = $this->DBServer;
if($Usr == "") $Usr = $this->DBUser;
if($Pass == "") $Pass = $this->DBPass;
if($DB == "") $DB = $this->DBName;
if($this->LinkID == 0){
$this->LinkID = @mysql_connect($Srv,$Usr,$Pass) or die("数据库连接失败,请联系管理员修复此问题。");
}
@mysql_select_db($DB,$this->LinkID) or die("数据库选择失败,请联系管理员修复此问题。");
return $this->LinkID;
}
function Free(){//释放查询结果
@mysql_free_result($this->QueryID);
$this->QueryID = 0;
}
function RowS(){//查询到的记录总数
if(!$this->QueryID) return 0;
return @mysql_num_rows($this->QueryID);
}
function NextRecord(){//下一条记录
if(!$this->QueryID) return 0;
$this->ResultS = @mysql_fetch_array($this->QueryID);
}
function Seek($seek){
if(!$this->QueryID) return 0;
@mysql_data_seek($this->QueryID,$seek);
}
function Query($Sql){//执行查询
if($Sql == "") return 0;
if($this->LinkID == 0) $this->Connect();
if($this->QueryID) $this->Free();//释放原来查询结果
$this->QueryID = @mysql_query($Sql,$this->LinkID);
$this->Error = mysql_error($this->LinkID);
if(!$this->QueryID) exit("$Sql执行失败.");
return $this->QueryID;
}
function GetRecord($Name){
if(!$this->QueryID) return 0;
return $this->ResultS[$Name];
}
}
?>

推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
author-avatar
wymanNi
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有