最近在做一个系统要抓取管家数据库里面的几个表的数据显示在web页面,于是乎上网搜了一下php如何连接sqlserver2000数据库,网上很多教材都是要配置php.ini配置文件,去掉;extension=php_mssql.dll前面的分号”;”,然后把ext文件里面php_mssql.dll复制粘贴到系统盘system32目录下,然后重启apache服务器即可,然后写连接数据库的代码件:服务器一般书写格式为“ip,端口号”如何是本机,可以写成为localhost,端口或者127.0.0.1,端口.至于怎么写根据自己的情况书写,特此声明以上连接sqlserver数据库仅限php版本是5.3一下的。如果你是5.3以上的版本以上连接亦不可用,因为php5.3以上版本微软已不支持。下面讲解一下php5.3以上版本如何连接sqlserver2000或者以上版本数据库。
那么php5.3以上版本如何连接sqlserver数据库呢?因为这个我也查找了很多资料,有说下载驱动的,可驱动只是针对sqlserver2005或者2008数据库版本,而对于sqlserver2000版本微软也并未提供相关支持驱动,至少我没有找到,好了闲话少说,还是赶紧介绍一下我的php5.3以上版本连接sqlserver2000的方法吧。其实很简单了就是用odbc连接2000数据库。下面直接说下步骤,首先需要配置数据源,打开控制面板,找到管理工具,打开管理工具,,然后双击打开数据源(ODBC),
选择系统DSN,然后点击添加
选择sql server,然后下一步,当然如果你是其他数据库比如access那么你选择acess先关的驱动了。
名称一定要写,是你写代码连接访问数据库的必备参数。服务器也一定要选择,如果是本机器就选择local,如果是其他机器就选择那个可看到的名字。
登陆ID一定要写,就是访问你数据库的名字,密码也是访问数据库的密码,如果有就写,没有就空着,然后一直下一步知道完成为止,然后测试连接,如果点击测试连接提示成功那么恭喜你,你的php5.3以上版本连接sqlserver2000就成功了,那么下一步就是书写连接数据库的代码了。
下面直接附上我写的代码,以供大家参考:
<?php $conn=odbc_connect(“刚才配置的数据源名字”,”访问数据库名字”,”访问数据库密码”); $sql=”select * from 表名”; $exec=odbc_exec($conn,$sql);//执行语句 while(odbc_fetch_array($exec)) { $abc=odbc_result($exec,'”数据表对应字段名字”); echo $abc … }
希望这篇文章对需要的朋友有所帮助,可以说这篇文章是我自己总结出来的,查找了很多资料,应该说是目前最详细的php5.3以上版本连接sqlserver2000的文章了。
php5.3.x版后需要自己安装微软的php 驱动程序,php本身不再提供SQL Server驱动。请参考我的这篇日志:
hi.baidu.com/...1.html
PHP完全可以连接MSSQL的。
1. 首先需要MS SQL Client Tools是一个dll叫做ntwdblib.dll,它通常在MS SQL Server安装以后被copy到系统的system32文件夹下;如果是SQL Server就在本地,那你需要核实的是该ntwdblib.dll的版本与SQL Server的版本一致(2005对应2000.80.194.0,2000对应的是2000.2.8.0;)如果SQL Server在远程,需要将那个ntwdblib.dll拷贝到本机器的system32文件夹下;
(这里经常遇见的一个问题是,如果php晚于SQL Server安装的话,php的ntwdblib.dll会覆盖SQL server安装时copy在system32下的ntwdblib.dll,导致链接是提示:链接不上数据库)
2.核实完system32下的ntwdblib.dll之后,还需要将正确版本的ntwdblib.dll覆盖php文件夹下的ntwdblib.dll;
3.使用MS SQL Server的方法与MySQL的方法很类似;
如下:
//链接数据库
$conn=mssql_connect('IBM-F24B11ED1CCSQLEXPRESS','sa','123456');
mssql_select_db('LabMIS',?$conn);
//query语句
$Query="select * from admin";
$AdminResult=mssql_query($Query);
//输出结果
$Num=mssql_num_rows($AdminResult);
for($i=0;$i{
$Row=mssql_fetch_array($AdminResult);
echo($Row[1]);
echo("
");
}
?>