PHP 连接 MSSQL用port时候的注意事项

本文介绍了解决CodeIgniter框架中MSSQL数据库连接问题的方法。针对Linux环境下使用mssql_connect时出现的端口连接错误,文章提供了一种有效的解决方案,并详细解释了其背后的原因。

项目中用CI的数据库类连接mssql,默认的端口port连接方法是","连接:

$this->hostname .= ','.$this->port;

但是在我的电脑上不能用,会报错。改成":"即可正常使用。

 

      总觉得CI框架中不应该犯这么个错误。先是百度了一下,没有任何相关的解释。如是在php.net 上在mssql_connect下面,看到了如下的解释:

The MS SQL server. It can also include a port number, e.g. hostname:port (Linux), or hostname,port(Windows).

原因正是因为我的系统是linux环境,不能用微软的sqlsrv,所以用mssql_connect的时候,出现这个问题。

修改如下:

	function db_connect()
	{
		if ($this->port != '')
		{
			if(strtoupper(substr(PHP_OS,0,3)) === 'WIN')
			{
				$this->hostname .= ','.$this->port;
			}
			else
			{
				$this->hostname .= ':'.$this->port;
			}
		}

		return @mssql_connect($this->hostname, $this->username, $this->password);
	}

  

转载于:https://www.cnblogs.com/wykuger/p/4023764.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值