1.开启sqlsrv扩展:
2.下载msodbcsql.msi:地址:https://docs.microsoft.com/zh-cn/sql/connect/odbc/windows/release-notes-odbc-sql-server-windows?view=sql-server-ver15#previous-releases
这里的x64 x86是根据电脑系统判断的
3.PHP连接示例:
<?php
namespace Common\Model;
use Think\Model;
class SqlServerModel extends Model {
protected $GetQueryConnect;
/**
* 建立连接SqlServer
* 经贸大学科研视图对接
*/
protected function _initialize(){
$serverName = "***";//数据库服务器地址
$uid = "***";//用户名
$pwd = "***";//密码
$database = "***";//数据库名称
$connectionInfo = ["UID"=>$uid,"PWD"=>$pwd,"Database"=>$database];
$this->GetQueryConnect = sqlsrv_connect($serverName, $connectionInfo);
}
/**
* 科研项目
* @param array $param
* @return array
*/
public function get_teacher_science($param){
header('Content-Type:text/html;charset=gbk');
$return = ['status'=>0,'msg'=>'','data'=>[]];
$code = $param['teacher_code'];
$sql = "select ID,XMMC from SHARE_PROJECT_NEW where FZRBH = ".$code;
$search_name = $param['search_name'];
if($search_name){
$search_name = iconv("UTF-8", "GB2312//IGNORE", $search_name);
$sql = "select ID,XMMC from SHARE_PROJECT_NEW where FZRBH = ".$code." and XMMC like '%$search_name%'";
}
$query = @sqlsrv_query($this->GetQueryConnect,$sql);
$get_arr = [];
if($query){
while ($row = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC)) {
$row['XMMC'] = iconv("GB2312//IGNORE", "UTF-8", $row['XMMC']);
$get_arr[] = $row;
}
$return['msg'] = 'SUCCESS';
$return['status'] = 1;
$return['data'] = $get_arr;
}else{
$return['msg'] = 'NOT DATA';
}
return $return;
}
/**
* 科研明细
* @param array $param
* @return array
*/
public function get_science_info($param){
header('Content-Type:text/html;charset=gbk');
$return = ['status'=>0,'msg'=>'','data'=>[]];
$science_id = $param['science_id'];
$sql = "select * from SHARE_PROJECT_NEW where ID = '".$science_id."'";
$query = @sqlsrv_query($this->GetQueryConnect,$sql);
$row = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC);
if($row){
$row['XMMC'] = iconv("GB2312//IGNORE", "UTF-8", $row['XMMC']);
$row['FZRXM'] = iconv("GB2312//IGNORE", "UTF-8", $row['FZRXM']);
$row['BZ'] = iconv("GB2312//IGNORE", "UTF-8", $row['BZ']);
$row['XMLY'] = iconv("GB2312//IGNORE", "UTF-8", $row['XMLY']);
$row['HTJF'] = preg_replace('/^(\.\d+)/', '0$1', $row['HTJF']);
$row['HTJF'] = number_format($row['HTJF']*10000,2,'.','');
$row['start_time'] = $row['end_time']= '';
if(is_object($row['LXRQ'])){
$row['LXRQ'] = (array)$row['LXRQ'];
$row['start_time'] = substr($row['LXRQ']['date'],'0',10);
}
if(is_object($row['JXRQ'])){
$row['JXRQ'] = (array)$row['JXRQ'];
$row['end_time'] = substr($row['JXRQ']['date'],'0',10);
}
$return['msg'] = 'SUCCESS';
$return['status'] = 1;
$return['data'] = $row;
}else{
$return['msg'] = 'NOT DATA';
}
return $return;
}
}