搭建WAMP5环境,连接SQL Server2005数据库问题汇总

时间:2022-08-30 13:41:22
 

经过两周的测试、修改,终于将网上药品采购系统从公司内部OA系统中独立出来,用WAMP5重新搭建了PHP网上药品采购系统。现将遇到的问题汇总如下:

1、数据库连接失败的问题,提示 Fatal error: Call to undefined function mssql_connect() in。

首先要安装WAMP5(我安装在D:\wamp),该服务器默认是连接My Sql 数据库,所以要想连接SQL Server2005数据库,必须修改php.ini。即去掉;extension=php_mssql.dll前的";",再设置mssql.secure_connection = On。然后检查 D:/wamp/php/ext/ 中的ntwdblib.dll版本(版本2000.2.8.0支持SQL Server2000,版本2000.80.194.0支持SQL Server2005)。修改完后记得重启整个WAMP5。

2、PHP页面查询SQL Server2005中数据时,中文显示乱码。

这是因为SQL Server2005默认的是支持gb2312页面编码方式,而且php.ini配置与.php页面编码不一致,所以修改两个地方:一是php.ini修改为default_charset = "gb2312";二是将.PHP页面的编码方式修改过来即可,即<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />。(注:Mysql 数据库既支持gb2312编码又支持utf-8编码)

3、jquery.js放在根目录下的inc文件夹中,但PHP页面无法引用。

WEB页面使用jquery技术不跳转页面实现后台数据库交互,必须引用jquery.js。写法是<script type="text/javascript" src="/inc/jquery.js"></script>

4、PHP页面使用header("location:shopping_car.php")定向页面时出错,Warning: Cannot modify header information - headers already sent by。

原因:setcookie函数必須在任何资料输出至浏览器前,就先送出。

解决办法:头部最前方设置ob_start(); 打开缓冲区;和尾部ob_end_flush();//输出全部内容到浏览器。

5、如果PHP页面编码方式是utf-8,但是页面中没有<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />。用alert()时,中文显示乱码。

解决办法:一定要在网页中指定编码方式为UTF-8,即添加<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,因为有alert()输出中文到浏览器。 

以上是PHP连接MS SQL数据库时常见错误,今后如遇到新的问题会不断更新。