phpmssql
hp连接mssql数据库有几个注意事项,尤其mssql的多个版本、32位、64位都有区别。
首先,php.ini文件中;extension=php_pdo_mssql.dll ;extension=php_pdo_odbc.dll 前面的分号去掉,对应的使哪种方式连接mssql。注意要重启服务使其生效。
一、建立连接
1、odbc
首先,在php程序所在的服务器设置odbc。这里32位和64位操作系统有区别。32位的从控制面板中管理工具中的数据源(odbc)直接建立就可以了,64位的要运行C:\Windows\SysWOW64\odbcad32.exe
从这里面设置。注意:上面只的是数据库服务器为32为的,数据源设置服务器为32位和64位两种的情况。只要两个服务器建立的数据源位数一致就好。
下面是odbc建立连接代码。
$con = odbc_connect('odbc名称','用户名','密码');
2、连接mssql2000
$con = mssql_connect('数据库地址','用户名','密码');
3、连接mssql2008
$connectionInfo = array("UID"=>用户名,"PWD"=>密码,"Database"=>"数据库名称");
$con = sqlsrv_connect( 数据库地址,$connectionInfo);
二、输入查询代码
这个都一样,可以直接写入,也可以从mssql中验证好后复制过来。简单点说就是把一个sql语句赋值给一个变量。
类似下面代码
$query = "SELECT top 12 * 数据库名称 order by id desc";
三、建立查询并取出数据
1、odbc
$result = odbc_do($con,$query);
while(odbc_fetch_row($result))
{
$变量名称 = odbc_result($result, "字段名称");
}
2、连接mssql2000
$result = mssql_query($con, $query);
while($row =mssql_fetch_array($result))
{
$变量名称 = $row["字段名称"];
}
3、连接mssql2008
$result = sqlsrv_query($con, $query);
while($row = sqlsrv_fetch_array($result))
{
$变量名称 = $row["字段名称"];
}
在php5.3及以后的版本中不附带sqlsrv库了。所以要从微软这里下载。
四、关闭连接
这个没有什么区别,分别是odbc_close();和mssql_close()和sqlsrv_close();
② php连接mssql的方法 怎样实现php连接mssql
php不论是连接什么数据库,得首先保证在php.ini中相关数据库的扩展是打开的,如
;extension
=
mysql
得把前面的;去掉才表明mysql数据库的扩展打开了,才能使用,ms
sql也同理。
1。php连接mssql
$conn=mssql_connect("实例名或者服务器ip","用户名","密码");
2。php连接mysql
$conn=mysql_connect("实例名或者服务器ip","用户名","密码");
从连接中,你也可以看出来,其实不论php和什么数据库相连,差别都很小,只是函数名上的差别,如果你进一步使用的话,你也可以发现对数据库的修改、手稿、更新等操作也只是函数名的差别,通一通百。
③ 怎么让php支持MSSQL
PHP 查看是否支持MSSQL的方法:
检测是否存在mssql_connect函数;
<?php
if (function_exists("mssql_connect")){
echo 'PHP环境支持MSSQL!';
}else{
echo '环境不支持MSSQL数据库!';
}
查看phpinfo中mssql配置项是否开启,如果存在mssql配置项,则支持;否则,不支持。;
配置php连接mssql:
开启mssql扩展;打开php.ini配置文件,去掉extension=php_pdo_mssql.dll和extension=php_mssql.dll前面的“;”然后重启apache服务器;
将PHP目录下ext目录下的php_mssql.dll和ntwdblib.dll,复制到WINDOWS/system32文件夹下,然后重启apache即可。
④ PHP如何连接mssql一个实例
你的写法没问题,不过可以试试指定端口((local)abc,1433)
另外,连接不上有错误信息吗?错误信息发出来看看
我试了下,php连接sqlsrv除了安装sqlsrv的扩展外还需要安装 odbc驱动 ,在微软sqlsrv for php 有介绍 ,根据你下载的 sqlsrv扩展版本安装 odbc驱动
⑤ php 连接 mssql server 配置
function connect(){
$this->LinkID = @mssql_pconnect($this->Server,$this->UserName,$this->Password);
if(!$this->LinkID){
$this->halt("mssql_pconnect($this->Server,$this->UserName,$this->Password): Failed");
return 0;
}
if(Database">!@mssql_select_db($this->Database)){
$this->halt("mssql_select_db($this->Database) Failed.");
return 0;
}
return 1;
}
注意你的PHP.ini里的 php_mssql.dll前面的分号去除
⑥ 查看PHP是否支持mssql
看看有没有mssql这一项.如果有就说明支持,如果没有可以手动在php.ini里面开启.
⑦ PHP 连接mssql数据库获得返回值问题
$res=mssql_query("select key from student where idt='id'",$conn);
$key=array();
while ($row=mssql_fetch_array($res)){
$key[]=$row; //把字段值放入数组中
}
⑧ php+mssql 和 php+mysql 优点缺点
一、PHP+MySql
优点:
1) MySql是一个快速、多线程、多用户的SQL数据库服务器。
2) MySql的核心程序采用完全的多线程编程。
3)MySql可运行在不同的操作系统下。
4) MySql有一个非常灵活而且安全的权限和口令系统。
5) MySql支持ODBC for Windows。
6)MySql支持大型的数据库。
7) MySql拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用面不必担心其稳定性。
8) 强大的查询功能。
9)PHP为MySql提供了强力支持,PHP中提供了一整套的MySql函数,对MySql进行了全方位的支持。
缺点:
比较的难学;
MySQL不完全支持陌生的关键词;
MySQL也缺乏一些存储程序的功能;
使用缺省的ip端口,但是有时候这些ip也会被一些黑客闯入;
使用myisam配置,如果你不慎损坏数据库,结果可能会导致所有的数据丢失;
二、PHP+MsSql
优点:
上手容易; 兼容性良好; 利于构筑"敏捷性商务";
缺点:
只能在windows 上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。
并行实施和共存模型并不成熟。很难处理日益增多的用户数和数据卷。伸缩性有限;
安全性方面,没有获得任何安全证书;
客户端支持及应用模式 ,是C/S结构,只支持windows客户,可以用ADO, DAO,OLEDB,
ODBC连接;
不是免费的;
数据不容易恢复;
⑨ PHP+MSSQL 和 PHP+MYSQL那个好
就好比我们组装电脑一样,经过不断的组装调试,最后会有一款性价比较好的配置出来。PHP也一样,它和mysql组合已经是最具性价比和效率的网站开发组合了。
⑩ 如何用PHP连接MSSQL数据库
windows下面nbsp;nbsp;要安装mssql或者,mssql客户端nbsp;nbsp;安装以后检查在你的系统目录下面是不是有ntwdblib.dll文件,如果有请继续(一般安装了mssql都会有);nbsp;nbsp;然后启动mssql数据库服务nbsp;nbsp;1:在php.ini文件里设置如下,找到nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;;extension=php_mssql.dllnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;把前面的分号去掉。2:找到extension_dirnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;=nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;d:extensionnbsp;nbsp;你的php.ini里面可能不是d:extensionnbsp;nbsp;改成在php安装目录下面的extensions目录下面的php_mssql.dll,所在的路径,如果你没有把它移动到其他地方(假设你的php安装路径是d:php)nbsp;nbsp;就改成extension_dir=d:phpextensionsnbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; 3:把ntwdblib.dll拷贝到c:winntsystem32目录下。 ntwdblib.dll的主要作用是提供sqlnbsp;server连接服务。nbsp; 我用的php版本是4.3.9,在安装它的服器的nbsp;windows/system32/nbsp;下我查到ntwdblib.dll文件的版本是2000.2.8.0nbsp;,这个版本支持的是sqlnbsp;servernbsp;7.0,nbsp;因为安装PHP时会把dlls下面的所有文件覆盖到系统nbsp;目录下,所以当我用它去连接nbsp;sqlnbsp;servernbsp;2000nbsp;的时候当然会是无法连接了。nbsp; 后来我在一台正常安装sqlnbsp;servernbsp;2000nbsp;的服务器上查到nbsp;ntwdblib.dll的版本是nbsp;2000.80.2039.0,sql2000的ntdblib.dll文件拷贝过来覆盖到本机的windows/system32下,重启服务器后,一切正常。nbsp; 补充:如果数据库名的开头是数字时也会提示无法打开,这时要做的很简单,把数据库的名字用中括号nbsp;[nbsp;]nbsp;括起来就搞定了,如nbsp;123bBSnbsp;改写成nbsp;[123bBS]就没有问题了,另外如果你的数据库名字与sqlnbsp;server中的保留字冲突的话也会出现这种情况,用中括号的方法一样可以解决。nbsp; 然后重新启动web服务器,假设你的mssql安装在本机上就可以用下面的测试nbsp;。nbsp;lt;?phpnbsp;nbsp;$con=mssql_connect(“localhost“,“user“,“password“);nbsp;nbsp;echonbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;“lt;brgt;连接成功“;nbsp;nbsp;elsenbsp;nbsp;echonbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;“连接失败“;nbsp;nbsp;?gt;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; 祝你好运nbsp;nbsp;可以把localhost改成你安装mssql的机器名称nbsp;。