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

PHP的MSSQL操作类

项目上需要用到,网上找的不太好用,自己写了一个?php/**PHP操作MSSQL类*----------------------------------------------------------------------------*Createdon2011-11-19byaklee**/classmsSQL{p
 项目上需要用到,网上找的不太好用,自己写了一个

/*
 * PHP操作MSSQL类
 * ----------------------------------------------------------------------------
 * Created on 2011-11-19 by aklee
 *
 */

  class msSQL{

          private $db_IP; //数据库IP
          private $db_user; //数据库用户
          private $db_sa; //数据库SA密码
          private $db_dbName; //数据库名
          private $conn; //连接标识 'conn' 及 'pconn''
          private $result; //Query命令结果标识
          private $sql; //SQL语句
          private $row; //返回条目数

          /* 构造函数 */
          public function __construct($db_host,$db_user,$db_sa,$db_dbName,$conn){
             $this->db_host=$db_host;
             $this->db_user=$db_user;
             $this->db_sa = $db_sa;
             $this->db_dbName=$db_dbName;
             $this->cOnn=$conn;
             $this->connect();
    }

    /* 数据库连接 */
    public function connect()
        {
                if($this->cOnn=="pconn"){ //永久链接

                    $this->cOnn=mssql_pconnect($this->db_host,$this->db_user,$this->db_sa);

                }else{ //即时链接

                        $this->cOnn=mssql_connect($this->db_host,$this->db_user,$this->db_sa);

                }

                if(!mssql_select_db($this->db_dbName,$this->conn)){
                                die("SQL ERROR:".$this->db_dbName);
                }
        }

        /* 增|删|改|查 */
        public function query($sql)
        {
                if($sql == ""){

                  die("SQL ERROR:SQL IS NULL!");}
              $this->sql = $sql;

            $result = mssql_query($this->sql,$this->conn);

                if(!$result){ //调试用,sql语句出错时会自动打印出来

                  die("SQL:".$this->sql);

                }else{

                        $this->result = $result;

                }

            return $this->result;

        }

        //创建一个新数据库
        public function create_database($database_name){
                $database=$database_name;
                $sqlDatabase = 'create database '.$database;
                $this->query($sqlDatabase);
        }

        //获取记录集
        public function fetch_array()
        {
                return mssql_fetch_array($this->result);
        }

        //获取关联数组
        public function fetch_assoc()
        {
                return mssql_fetch_assoc($this->result);
        }

        //获取数字索引数组
        public function fetch_row()
        {
                return mssql_fetch_row($this->result);
        }

          //获取对象数组 调试:‘$row->content’
          public function fetch_Object()
        {
                return mssql_fetch_object($this->result);
        }

        //指向确定的一条数据记录
        public function db_data_seek($id){
                if($id>0){
                        $id=$id-1;
                }
                if(!@mssql_data_seek($this->result,$id)){
                        die('SQL ERROR:Specified data is null!');
                }
                return $this->result;
        }

        //根据查询结果集条目
        public function db_num_rows(){
                 if($this->result==null){
                                 die('SQL ERROR:Being empty, nothing!');
                 }else{
                         return mssql_num_rows($this->result);
                 }
        }

        //返回最后一次写入查询影响的记录数
        public function db_affected_rows(){
                 return mssql_rows_affected();
        }

        //释放结果集
        public function free(){
                @mssql_free_result($this->result);
        }

        //数据库选择
        public function select_db($db_database){
                return mssql_select_db($db_database);
        }

        //获取结果的字段数
        public function num_fields($table_name){
                $this->query("select * from $table_name");
                echo $total = mssql_num_fields($this->result);
                echo "

";
                for ($i=0; $i<$total; $i++){
                        print_r(mssql_fetch_field($this->result,$i) );
                }
                echo "
";
                echo "
";
        }

        //初始化存储过程
        public function init_pro($proNme){
                return mssql_init($proNme,$this->conn);
        }

        //析构函数,关闭数据库,垃圾回收
        public function __destruct()
        {
                if(!empty($this->result)){
                        $this->free();
                }
                mssql_close($this->conn);
        }

  }

  
?>

--------------------------------------------------

附演示

/*
 * 示例文件
 * ----------------------------------------------------------------------------
 * Created on 2011-11-19 by aklee
 *
 */

   require_once("mssql.php");

  $db=new msSQL("IP或主机名","sa","密码","数据库名","conn");

   $rs=$db->query("select * from 表名");

   //返回结果集条目
   echo '记录数:'.$amount =$db->db_num_rows($rs);
   echo '



';

   //获取索引数组
   echo '结果集索引数组
';
   while($row = $db->fetch_array($rs)){
           echo $row[id];
           echo '
';
   }
   echo '



';

   //结果字段数
   echo '获取字段数并打印
';
   echo $db->num_fields("表名");
   echo '



';

?>


推荐阅读
  • 使用Nginx反向代理实现多域名端口映射
    本文介绍如何通过配置本地hosts文件和Nginx反向代理,实现多个虚拟域名的端口映射,使用户可以通过标准HTTP端口80访问不同后端服务。 ... [详细]
  • 本文探讨了在构建应用程序时,如何对不同类型的数据进行结构化设计。主要分为三类:全局配置、用户个人设置和用户关系链。每种类型的数据都有其独特的用途和应用场景,合理规划这些数据结构有助于提升用户体验和系统的可维护性。 ... [详细]
  • 本文详细介绍了PHP中的多条件分支结构,包括if、elseif和else语句的使用方法。通过具体示例,解释了如何根据不同的条件执行相应的代码块,并确保每个条件只能触发一次。 ... [详细]
  • 气象对比分析
    本文探讨了不同地区和时间段的天气模式,通过详细的图表和数据分析,揭示了气候变化的趋势及其对环境和社会的影响。 ... [详细]
  • 使用PHP实现网站访客计数器的完整指南
    本文详细介绍了如何利用PHP构建一个简易的网站访客统计系统。通过具体的代码示例和详细的解释,帮助开发者理解和实现这一功能,适用于初学者和有一定经验的开发人员。 ... [详细]
  • 本文详细介绍了在 Windows 7 系统中配置 Nginx 1.10.3 和 PHP 7.1.1 NTS 的步骤,包括修改 PHP 配置文件、处理依赖项以及创建批处理脚本启动和停止服务。重点解释了如何解决常见的运行时错误。 ... [详细]
  • 在PHP后端开发中遇到一个难题:通过第三方类文件发送短信功能返回的JSON字符串无法解析。本文将探讨可能的原因并提供解决方案。 ... [详细]
  • 剑网3藏剑技能键盘配置与实战技巧
    本文详细介绍了《剑网3》中藏剑门派的技能键盘配置方法,以及在PVE和PVP中的具体使用技巧,帮助玩家更好地掌握藏剑的操作。 ... [详细]
  • 探讨 HDU 1536 题目,即 S-Nim 游戏的博弈策略。通过 SG 函数分析游戏胜负的关键,并介绍如何编程实现解决方案。 ... [详细]
  • 优化网页加载速度:JavaScript 实现图片延迟加载
    本文介绍如何使用 JavaScript 实现图片延迟加载,从而显著提升网页的加载速度和用户体验。 ... [详细]
  • 本文详细介绍了一种通过MySQL弱口令漏洞在Windows操作系统上获取SYSTEM权限的方法。该方法涉及使用自定义UDF DLL文件来执行任意命令,从而实现对远程服务器的完全控制。 ... [详细]
  • 本文探讨了如何在C# WinForms应用程序中将带有格式(如粗体、下划线等)的RTF文本粘贴到RichTextBox控件中,并确保粘贴后的文本保持原始格式和着色。我们还将介绍一些优化方法,以提高处理效率。 ... [详细]
  • 斯特林数与幂
    参考资料:https:www.luogu.com.cnblogchtholly-willemsolution-p5408https:blog.csdn.netguizhiyuart ... [详细]
  • 本文介绍下,在php编程中,用正则表达式判断某一字符串是否为域名的方法,有需要的朋友参考下吧。通常匹配域名的格式要求:1、域 ... [详细]
  • 探讨在PHP开发中,如何选择使用Cookie或数据库来优化网站性能,特别是在处理用户保存的搜索结果时。 ... [详细]
author-avatar
世妖娆灬
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有