仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2642|回复: 18
打印 上一主题 下一主题

[学习教程] PHP网页设计Db_mssql_class

[复制链接]
灵魂腐蚀 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-16 00:27:07 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
会PHP吗?会,我会把一加一的运算写在函数里,然后调用啦!   具体引见:
   因为任务的缘由,需求对SQL SERVER数据库停止操作,依据之前利用的MySQL数据库操作类改写成如今这个对SQL SERVER停止操作的PHP类,可以履行毗连数据库,履行SQL语句,查询数据,取得最初一次拔出操作的ID号等功效!

<?php
/****************************************************************************
            db_mssql_class.php  -  description
                             -------------------
    begin                : 2002 4 2

    $Id: db_mssql_class.php,v 1.1 2002/04/03 09:25:33 Simon.Qiu Exp $
/****************************************************************************/

class DB_Handle{
var $ClassName = "DB_Handle";

var $Server;
var $UserName;
var $Password;
var $Database;

var $LinkID=0;
var $QueryResult="";
var $LastInsertID = "";

/* private ignore=>ignore the error and continue, halt=>report the error and halt, report=>report the error and continue */
var $Halt_On_Error = "report";

var $Error = "";
var $ErrNo = 0;
  
/**public
*  remark: This is the db_mysql_class's structure
*  function: Set the server,username,password,database variable.
*/
function DB_Handle($server="",$username="",$password="",$database=""){
  $this->Server = $server;
  $this->UserName = $username;
  $this->Password = $password;
  $this->Database = $database;
}
  
   
/**public
*  function: Connect database and select database
*  success: retun 1
*  failed: return 0  
*/
function connect(){
  $this->LinkID = @mssql_pconnect($this->Server,$this->UserName,$this->Password);
  if(!$this->LinkID){
   $this->halt("mssql_pconnect($this->Server,$this->UserName,$this->Password): Failed");
   return 0;
  }
  if(!@mssql_select_db($this->Database)){
   $this->halt("mssql_select_db($this->Database) Failed.");
   return 0;
  }
  return 1;
}
  
  
/**public
*  function: Check the database, if exist then select
*  exist: return 1
*  not exist: return 0
*/
function selectDatabase(){
  if(@mssql_select_db($this->Database))
   return 1;
  else
   return 0;
}

/**public
*  function: Execute SQL instruction
*  success: return SQL Result.
*  failed: return 0;
*/
function execQuery($sql=""){
  if($this->LinkID == 0){
   $this->halt("Execute SQL Failed: Hava not valid database connect.");
   return 0;
  }
  
  ob_start();
  $this->QueryResult = mssql_query($sql,$this->LinkID);
  $error = ob_get_contents();
  ob_end_clean();
  if($error){
   
   $this->halt("Execute SQL: mssql_query($sql,$this->LinkID) failed.");
   return 0;
  }
  $reg = "#insert into#";
  if(preg_match($reg,$sql)){
   $sql = "select @@IDENTITY as id";
   $res = mssql_query($sql,$this->LinkID);
   $this->LastInsertID = mssql_result($res,0,id);
  }
  return $this->QueryResult;
}
  
  
/**public
*  function: Get the query result's row number
*  success: return the row fo the Result
*  failed: return 0
*/
function getTotalRowNum($result=""){
  if($result != "") $this->QueryResult = $result;
  $row = @mssql_num_rows($this->QueryResult);
  if($row >= 0) return $row;
  $this->halt("Get a row of result Failed: Result $result is invalid.");
  return 0;
}
  
  
/**public
*  function: Get the last insert record's id
*  success: return id
*  failed: return 0
*/
function lastInsertID(){
  return $this->LastInsertID;
}
  
  
/**public
*  function: Get a field's value
*  success: return value of the field
*  failed: return 0
*/
function getField($result="",$row=0,$field=0){
  if($result != "") $this->QueryResult = $result;
  $fieldvalue = @mssql_result($this->QueryResult,$row,$field);
  if($fieldvalue != "") return $fieldvalue;
  $this->halt("Get field: mssql_result($this->QueryResult,$row,$field) failed.");
  return 0;
  
  //Here should have error handle  
}
  
  
/**public
*  function: Get next record
*  success: return a array of the record's value
*  failed: return 0
*/
function nextRecord($result=""){
  if($result != "") $this->QueryResult = $result;
  $record = @mssql_fetch_array($this->QueryResult);
  if(is_array($record)) return $record;
  //$this->halt("Get the next record Failed: the Result $result is invalid.");
  return 0;
}
  
  
/**public
*  function: Free the Query Result
*  success return 1
*  failed: return 0
*/
function freeResult($result=""){
  if($result != "") $this->QueryResult = $result;
  return @mssql_free_result($this->QueryResult);
}
  
  
/**public
*  function: Set the Halt_On_Error's state
*  success: return 1
*  failed: return 0
*/
function setHaltOnError($state="ignore"){
  if(!($state == "ignore" || $state == "report" || $state == "halt")){
   $this->halt("Set the Halt_On_Error Fail: There is no state value $state");
   return 0;      
  }
  $this->Halt_On_Error = $state;
  return 1;
}
  
  
/**public
*  function: Get the Halt_On_Error's state
*/
function getHaltOnError(){
  return $this->Halt_On_Error;
}


/**public
*  function: Get the class's name
*/
function toString(){
  return $this->ClassName;
}


/**private
*  function: Error handle
*/
function halt($msg){
  $this->Error = @mysql_error($this->LinkID);
  $this->ErrNo = @mysql_errno($this->LinkID);
  if ($this->Halt_On_Error == "ignore") return;
  $this->makeMsg($msg);
  if ($this->Halt_On_Error == "halt") die("<b>Session halted</b>");
}


/**private
*  function: Make error information and print
*/
function makeMsg($msg){
  printf("<b>Database error:</b> %s<br>\n", $msg);
  printf("<b>MySQL Error</b>: %s (%s)<br>\n",$this->ErrNo,$this->Error);
}
}

?>

PHP的理解是新手最难迈过的一道门槛,不过你应该感到幸运的是PHP已经最大极限的为了新手而努力了,如果你学过其他的语言,也许会觉得PHP的确相当的简单,但是如果你之前什么都没学过,那么阿弥陀佛,硬着头皮琢磨吧。
灵魂腐蚀 该用户已被删除
沙发
 楼主| 发表于 2015-2-27 21:11:13 | 显示全部楼层
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-14 20:03

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表