php连接mssql数据库类

来源:互联网 发布:网络诈骗的看法 编辑:程序博客网 时间:2024/05/29 08:00
class SQLDB{
private $host;
private $username;
private $password;
private $charset;
private $dbname;
private $linka;


public function __construct($config=array()){
$this->initServer($config);
$this->connectServer();
$this->setCharset();
}
public function initServer($config){
$this->host=$config['host'];
$this->username=$config['username'];
$this->password=$config['password'];
$this->charset=$config['charset'];
$this->dbname=$config['dbname'];
}
public function connectServer(){
$result=sqlsrv_connect("$this->host",array("UID"=>"$this->username","PWD"=>"$this->password","Database"=>"$this->dbname","CharacterSet"=>"$this->charset"));
if($result){
$this->linka=$result;
}else{
echo "数据库连接失败!";
exit;
}
}
public function setCharset(){
$sql="set names $this->charset";
sqlsrv_query($this->linka,$sql);
}
public function query($sql){
$query_result=sqlsrv_query($this->linka,$sql);
if($query_result==false){
echo "SQL执行失败",print_r($this->linka);

}

return $query_result;

}

}

其中的sqlsrv_query($conn,$sql),和mysql_query($sql,$conn)里面的参数是反的,sqlsrv_connect($servername,$connect),$connect为一个数组,并且$connect=array("UID"=>"username","PWD"=>"password","Database"=>"数据库名","CharacterSet"=>"编码"),还有就是实例化连接时,initServer()里面是数组,开始没注意写的都是类似$host,结果当然是错的。

0 0
原创粉丝点击