首页技术php连接mssql php连接mssql数据库的几种方式

php连接mssql php连接mssql数据库的几种方式

编程之家2023-11-01164次浏览

本篇文章给大家谈谈php连接mssql,以及php连接mssql数据库的几种方式对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

php连接mssql php连接mssql数据库的几种方式

php连接mssql数据库的几种方式

hp连接mssql数据库有几个注意事项,尤其mssql的多个版本、32位、64位都有区别。

首先,php.ini文件中;extension=php_pdo_mssql.dll

;extension=php_pdo_odbc.dll

前面的分号去掉,对应的使哪种方式连接mssql。注意要重启服务使其生效。

一、建立连接

1、odbc

php连接mssql php连接mssql数据库的几种方式

首先,在php程序所在的服务器设置odbc。这里32位和64位操作系统有区别。32位的从控制面板中管理工具中的数据源(odbc)直接建立就可以了,64位的要运行C:\Windows\SysWOW64\odbcad32.exe

从这里面设置。注意:上面只的是数据库服务器为32为的,数据源设置服务器为32位和64位两种的情况。只要两个服务器建立的数据源位数一致就好。

下面是odbc建立连接代码。

$con

=

odbc_connect('odbc名称','用户名','密码');

php连接mssql php连接mssql数据库的几种方式

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实例

注意要重启服务使其生效。一、建立连接1、odbc首先,在php程序所在的服务器设置odbc。这里32位和64位操作系统有区别。32位的从控制面板中管理工具中的数据源(odbc)直接建立就可以了,64位的要运行C:WindowsSysWOW64odbcad32.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库了。所以要从微软这里下载。四、关闭连接

PHP连接Mssql和Mysql的正确方法

PHP不论是连接什么数据库,得首先保证在php.ini中相关数据库的扩展是打开的,如

;extension

=

mysql

得把前面的;去掉才表明mysql数据库的扩展打开了,才能使用,MS

SQL也同理。

1。PHP连接MSSQL

$conn=mssql_connect("实例名或者服务器IP","用户名","密码");

2。PHP连接MySQL

$conn=mysql_connect("实例名或者服务器IP","用户名","密码");

从连接中,你也可以看出来,其实不论PHP和什么数据库相连,差别都很小,只是函数名上的差别,如果你进一步使用的话,你也可以发现对数据库的修改、手稿、更新等操作也只是函数名的差别,通一通百。

php怎么连接sql server 2012

1:PHP5.2.x本身有个php_mssql.dll的扩展用来连接Sql server,但是这个dll只是用来连接低版本 Sql server的(2000以下版本),在Sql server 2005及以上版本无法使用mssql_connect连接到数据库。

2:php5.3.x不再支持php_mssql.dll拓展库了,及时使用php5.2.x中的php_mssql.dll也无法使用。微软专门为PHP出了个SQL Server的扩展(Windows版本的),对于Windows下使用php开发SQL Server应用来说,这个扩展有利于利用SQL Server来开发php平台连接sql server数据库管理系统。

一、php5.3以下的版本连接sql server

5.3以下的版本扩展里面自带一个php_mssql.dll;接数据库的扩展,可以利用这个扩展链接数据库,(只限于链接低版本数据库)。

具体的步骤如下:

1:首先安装sql server,超级不好安装,我之前安装的是2008版本的,Windows过期后就不能用了,然后重装还装不上,最后重装系统才装上

2:确定SQL装的时候用的是混合认证模式,或SQL验证模式,然后打开php的配置文件(php.ini),开启mssql扩展(extension=php_pdo_mssql.dll前面的分号去掉)并且需要把mssql.secure_connection= On重启后生效。

如果比较顺利的话已经可以连接数据库了,如果连不上就需要继续低下的配置:

3:检查ntwdblib文件的版本(php/下面和Apache/下面)下载正确的版本的 ntwdblib.dll(2000.80.194.0)覆盖现有的DLL文件,(把ntwdblib.dll,php_mssql.dll复制到system32目录中也可以)ntwdblib.dll用于PHP连接MSSQL2005或2008的驱动文件。

4:测试连接:mssql_connect('localhost,1433','用户名','密码');

二、php5.3+连接sql server

其实5.3以下的php版本已经很少用了,况且安全性和兼容性都不好,所以高版本的php还是比较常见的。实践证明低版本的php连接数据库成功率比较低(2005以上的版本几乎不能使用),推荐使用php5.3+ php使用微软专门的扩展 SQLSRV来连接sqlserver数据库

步骤如下:

1:先到微软网站下载 SQL Server Driver for PHP是一个自解压的 EXE文件,解压缩后你会得到这么几个文件:

其中的52、53表示就是php的5.2.x和5.3.x版本,选择跟你php版本相匹配的;vc6或vc9的选择要看你使用的是什么web服务器软件,如果使用的是IIS那就选择vc9的,如果是Apache则选择vc6的,ts和nts的选择要看你安装的php版本是线程安全版的还是非线程安全版,ts是线程安全,nts是非线程安全。

如果不知道可以在phpinfo里看Zend Extension Build这个属性如下图:

2:将扩展拷贝到拷到php/ext目录下,在php.ini文件,添加一下代码:

extension=在ext下的pdo扩展(用于pdo)

extension=在ext下的扩展

3:重启服务器,打开phpinfo();看到以下状态就证明添加扩展成功,

4:连接测试:

<?php$serverName="(local)";$connectionInfo= array("UID"=>"sa","PWD"=>"admin","Database"=>"db_online");$conn= sqlsrv_connect($serverName,$connectionInfo); if($conn){ echo"Connection established.\n";}else{ echo"Connection could not be established.\n"; die( var_dump(sqlsrv_errors()));} sqlsrv_close($conn);?>

注意这里的连接不是用mssql_connect而是用sqlsrv_connect,在这个版本中,还有几个函数:

这个扩展为php新增了一系列sqlsrv_开头的函数,常用的如下:

sqlsrv_connect

sqlsrv_close

sqlsrv_commit

sqlsrv_errors

sqlsrv_fetch

sqlsrv_fetch_array

sqlsrv_fetch_metadata

sqlsrv_num_rows

sqlsrv_query

sqlsrv_rollback

sqlsrv_rows_affected

...

另外注意的是,如果使用这个扩展连接Sql server 2005以及以上版本的sql server(如sql server 2008),你还需要在机器上先安装 SQL Server Native Client

不然会出现如下错误:

array

0=>array

0=>string'IMSSP'(length=5)

'SQLSTATE'=>string'IMSSP'(length=5)

1=>int-49

'code'=>int-49

2=>string'This extension requires the Microsoft SQL Server 2012 Native Client. Access the following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver for x86:

http://go.microsoft.com/fwlink/?LinkId=163712'

(length=216)

'message'=>string'This extension requires the Microsoft SQL Server 2008 Native Client. Access the following URL to download the Microsoft SQL Server 2008 Native Client ODBC driver for x86:

http://go.microsoft.com/fwlink/?LinkId=163712'

(length=216)

1=>array

0=>string'IM002'(length=5)

'SQLSTATE'=>string'IM002'(length=5)

1=>int0

'code'=>int0

2=>string'[Microsoft][ODBC驱动程序管理器]未发现数据源名称并且未指定默认驱动程序'(length=71)

'message'=>string'[Microsoft][ODBC驱动程序管理器]未发现数据源名称并且未指定默认驱动程序'(length=71)

解决方法:需要安装SQL Server 2008 Native Client ODBC Driver,下载安装文件sqlncli.msi,安装后就可以了。

关于php连接mssql的内容到此结束,希望对大家有所帮助。

企业网站seo(网站SEO是什么意思)每日更新 代理服务器(配置代理每天更新)