sql数据库连接代码php,php程序来连接SQL Server数据库的通用类_php

很多朋友问我如何用php程序来连接SQL Server数据库的通用类,其实这个并不是很难的,关键是一点点仔细,一点点耐心,用激情去理解

class DB {

var $Host = "192.168.0.199"; // Hostname of our mysql server

var $Database = "test"; // Logical database name on that server

var $User = "user"; // Database user

http://www.gaodaima.com/48087.htmlphp程序来连接SQL Server数据库的通用类_php

var $Password = "password"; // Database user's password

var $Link_ID = 0; // Result of mssql_connect()

var $Query_ID = 0; // Result of most recent mssql_query()

var $Row = 0; // Current row number

var $Errno = 0; // Error state of query

var $Error = "";

var $AffNum=0;

/**************************************

*打印错误方法:显示页面处理的错误信息。

****************************************/

function Halt($msg) {

printf("Database error: %s
/n", $msg);

printf("mssql Error: %s (%s)
/n",

$this->Errno,

$this->Error);

die("Session halted.");

}

/**************************************

*连接数据库,并且选择默认的数据库

**************************************/

function Connect() {

if ( 0 == $this->Link_ID ) {

$this->Link_ID=mssql_connect($this->Host,$this->User,$this->Password) or die("Couldn't connect to SQL Server on

$servername");

Database,$this->Link_ID">$db=@mssql_select_db($this->Database,$this->Link_ID);

if (!$this->Link_ID) {

$this->Halt("Link-ID == false, mssql_connect failed");

}

}

}

/****************************************

*关闭数据库,如果数据库连接已经打开则关闭它

*请在调用Connect()并处理后使用Close()

****************************************/

function Close() {

if (0 != $this->Link_ID){

mssql_close();

}

}

/*************************************************

*输入sql语句,有select,update,insert,delete

*包括存储过程也可以通过这个方法来调用。

*************************************************/

function Query($Query_String) {

$this->Connect();

$this->Query_ID = mssql_query($Query_String);

$this->Row = 0;

if (!$this->Query_ID) {

$msg=mssql_get_last_message();

if($msg==null || $msg=="")

{

$this->AffNum=1;

return 1;

}

if(strtolower(substr($Query_String,0,6))!="select"){

$this->AffNum=1;

return 1;

}

$this->Errno = 1;

$this->Error = "General Error (The mssql interface cannot return detailed error messages)(".$msg.").";

$this->halt("Invalid SQL: ".$Query_String);

}

return $this->Query_ID;

}

/*******************************************************

*把查询数据库的指针移到下一条记录

*******************************************************/

function NextRecord() {

$this->Record = array();

mssql_next_result($this->Query_ID);

$this->Record=mssql_fetch_array($this->Query_ID);

$result=$this->Record;

if(!is_array($result)) return $this->Record;

foreach($result as $key => $value){

$keylower=strtolower($key);

if($keylower!=$key) $this->Record[$keylower]=$value;

}

return $this->Record;

}

/********************************************************

*重新定位查询数据库的指针

********************************************************/

function Seek($pos) {

if($pos<=0) return;

if(eregi("[0-9]",$pos)) mssql_data_seek($this->Query_ID,$pos);

}

/********************************************************

*获取查询数据库得到的总行数

********************************************************/

function NumRows() {

if($this->Query_ID) $num_rows=mssql_num_rows($this->Query_ID);

else $num_rows=$this->AffNum;

return $num_rows;

}

/*******************************************************

*字段数

*******************************************************/

function NumFields() {

return count($this->Record)/2;

}

/*******************************

*该字段的值

*******************************/

function FieldValue($Field_Name){

return $this->Record[$Field_Name];

}

/******************************

*update,insert,delete影响的行数

******************************/

function AffectedRows() {

if($this->Query_ID) return mssql_num_rows($this->Query_ID);

else{

return $this->AffNum;

}

}

?>

以下是使用示例:

//构造新的DB类

$DBConn=new DB;

//写入sql查询语句

$SqlStr="select * from test";

$DBConn->Query($SqlStr);

//循环输出查询得到的结果

while($Row=$DBConn->NextRecord()){

echo $Row[testid];

}

//关闭数据库连接

$DBConn->Close();

?>

欢迎大家阅读《php程序来连接SQL Server数据库的通用类_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码

e7ce419cf2d6ad34d01da2ceb8829eed.png

微信 赏一包辣条吧~

023a57327877fb4402bcc76911ec18ea.png

支付宝 赏一听可乐吧~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值