php通过ODBC访问sqlserver的类
php通过ODBC访问sqlserver的类,可实现PHP连接sqlserver数据库,取得数据库的详细信息,查询数据,更新数据,删除数据等常用操作,在使用php语言,数据库是sqlserver的情况下,使用这个类就很实用,常用的数据库操作都整合到这个类里了,没有冗余的代码,完全可以实用php常用功能的操作,在本基础上可以增加其它功能,新手朋友可以研究使用,主要研究如何通过php进行访问sqlserver数据库。
<?php
class DataBase
{
var $databasepath,$database,$dbusername,$dbpassword,$link;
function DataBase()
{
$this->databasepath="192.168.1.88";
$this->database="shutong";
$this->dbusername="sa";
$this->dbpassword="ciwong";
$this->connect();
}
function connect()
{
//$this->constr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath($this->databasepath);
//$this->link=odbc_connect($this->constr,$this->username,$this->password,SQL_CUR_USE_ODBC);
$this->link=odbc_connect("Driver={SQL Server};Server=192.168.1.88;Database=shutong","sa","ciwong");
return $this->link;
}
function query($sql)
{
return odbc_exec($this->link,$sql);
}
function first_array($sql)
{
return odbc_fetch_array($this->query($sql));
}
function fetch_row($query)
{
return odbc_fetch_row($query);
}
function fetch_arry($query)
{
return odbc_fetch_array($query);
}
function total_num($sql)//取得记录总数
{
return odbc_num_rows($this->query($sql));
}
function close()//关闭数据库连接函数
{
odbc_close($this->link);
}
function insert($table,$field)//插入记录函数
{
$temp=explode(',',$field);
$ins='';
for ($i=0;$i<count($temp);$i++)
{
$ins.="'".$_POST[$temp[$i]]."',";
}
$ins=substr($ins,0,-1);
$sql="Insert INTO ".$table." (".$field.") VALUES (".$ins.")";
$this->query($sql);
}
function getinfo($table,$field,$id,$colnum)//取得当条记录详细信息
{
$sql="Select * FROM ".$table." Where ".$field."=".$id."";
$query=$this->query($sql);
if($this->fetch_row($query))
{
for ($i=1;$i<$colnum;$i++)
{
$info[$i]=odbc_result($query,$i);
}
}
return $info;
}
function getlist($table,$field,$colnum,$condition,$sort="ORDER BY id DESC")//取得记录列表
{
$sql="Select * FROM ".$table." ".$condition." ".$sort;
$query=$this->query($sql);
$i=0;
while ($this->fetch_row($query))
{
$recordlist[$i]=getinfo($table,$field,odbc_result($query,1),$colnum);
$i++;
}
return $recordlist;
}
function getfieldlist($table,$field,$fieldnum,$condition="",$sort="")//取得记录列表
{
$sql="Select ".$field." FROM ".$table." ".$condition." ".$sort;
$query=$this->query($sql);
$i=0;
while ($this->fetch_row($query))
{
for ($j=0;$j<$fieldnum;$j++)
{
$info[$j]=odbc_result($query,$j+1);
}
$rdlist[$i]=$info;
$i++;
}
return $rdlist;
}
function updateinfo($table,$field,$id,$set)//更新记录
{
$sql="Update ".$table." SET ".$set." Where ".$field."=".$id;
$this->query($sql);
}
function deleteinfo($table,$field,$id)//删除记录
{
$sql="Delete FROM ".$table." Where ".$field."=".$id;
$this->query($sql);
}
function deleterecord($table,$condition)//删除指定条件的记录
{
$sql="Delete FROM ".$table." Where ".$condition;
$this->query($sql);
}
function getcondrecord($table,$condition="")// 取得指定条件的记录数
{
$sql="Select COUNT(*) AS num FROM ".$table." ".$condition;
$query=$this->query($sql);
$this->fetch_row($query);
$num=odbc_result($query,1);
return $num;
}
}
?>