>php教程 >php手册 >PHP连接MSSQL的问题

PHP连接MSSQL的问题

WBOY
WBOY원래의
2016-06-13 10:56:241117검색

在PHP操作MSSQL时需要先确定系统的运行环境是否支持,运行以下语句就知道了


[php]
if (function_exists('mssql_connect')){ 
echo '本函数存在,说明环境支持MSSQL'; 
}else{ 
echo '你的环境不支持MSSQL,请去APACHE中配置'; 

if (function_exists('mssql_connect')){
echo '本函数存在,说明环境支持MSSQL';
}else{
echo '你的环境不支持MSSQL,请去APACHE中配置';
}当PHP环境不支持时请先安以下的方法进行环境的配置

1、打开你的PHP.INI配置文件,把extension=php_pdo_mssql.dll和extension=php_mssql.dll前面的“;”去掉,尽量找到和mssql相关的字眼,都把他启用;

2、你的运行环境中不一定有连接MSSQL的连接库,所以你必需检查一下你的PHP目录下是否存在ext目录下的php_mssql.dll和ntwdblib.DLL,网上有文章说需要COPY到WINDOWS/SYSTEM32目录下, 如果连接不上的话可以试一下;

3、重启一下APACHE,再不行你就整个机子重启(有时候就是这么变态)。

做完上面的3步后不要以为完成了,可以搞定PHP+MSSQL了,后面还有字符集的问题。


[php]
mssql_select_db($db_name,$conn); 
$sql="INSERT INTO contacts (ID,MemberNo,Name,CustomerStateID,Ext,Phone,Mobile,email,QQ,Gender,Company,Province_ID,City_ID,Address,Postalcode) VALUES (4,'BX4','刘彪',1,'','','13924007557','','153216429','男','华康保险代理有限公司广东分公司',0,0,'广州市越秀区达道路5号广州军区服务中心大厦2楼','510035')"; 
$sql=iconv('utf-8','gb2312',$sql);//这个转换必需,如果你的编码是一致的话还好办,我就是在这个问题上纠结了很久  
$query=mssql_query($sql,$conn); 

mssql_select_db($db_name,$conn);
$sql="INSERT INTO contacts (ID,MemberNo,Name,CustomerStateID,Ext,Phone,Mobile,email,QQ,Gender,Company,Province_ID,City_ID,Address,Postalcode) VALUES (4,'BX4','刘彪',1,'','','13924007557','','153216429','男','华康保险代理有限公司广东分公司',0,0,'广州市越秀区达道路5号广州军区服务中心大厦2楼','510035')";
$sql=iconv('utf-8','gb2312',$sql);//这个转换必需,如果你的编码是一致的话还好办,我就是在这个问题上纠结了很久
$query=mssql_query($sql,$conn);如果不上iconv转换,不同的编码会造成mssql_query返回false,我已经使用了@mssql_query("SET NAMES UTF8",$conn);进行转换,暂时不知道为什么不行,所以所有的SQL语句都要经过转换。

完成上面的基本是可以对数据库进行操作了。

 

 

 

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.