导航:首页 > 编程语言 > php链接mssql

php链接mssql

发布时间:2023-02-24 18:56:05

‘壹’ 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. "; }else{ echo "Connection could not be established. "; die( var_mp(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)

‘贰’ php怎么样连接sql数据库

1、软件配置

Win7 64 +wampserver2.2d-x32+SQL Server 2008 R2数据库,wamp2.2中的php版本是5.3.10。

Php环境也可以换成php+apache。

2、支持连接MySQL Server配置

php版本5.3以前,有php_mssql功能,可以使用,但是5.3及以后的版本不支持。

2.1、php连接mssql设置(php5.3以前版本)

(1)、打开php.ini,将
;extension=php_mssql.dll前面的分号(;)去掉,然后重启 Apache。如果不行的话,进行第2步。

(2)检查一下你的php安装目录下的ext下面有没有php_mssql.dll存在,如果没有,从www.php.net重新下载一个php安装,要下载那个压缩包的才是最完整的。
如果ext目录下已经有了php_mssql.dll,那么你需要打开php.ini,找到
extension_dir = "./ext"
这一句(或者类似的,不一定是"./ext",查找"extension_dir"即可),然后把"./ext"修改为你的php安装目录的ext目录的完整路径,比如"c:/php/ext",或者"c:/program files/php/ext"这样。然后再次重启 Apache。如果还是不行的话,可能就需要第3步了。

(3)把 php 目录下的 ntwdblib.dll 和 php_mssql.dll 复制到 system32的系统目录中去,然后重起Apache。

(4)然后就可以连接MSSQL,并进行一些操作了。连接例子如下:

2.2、php连接sqlsrv(php5.3以及以上版本)

(1)、下载Microsoft Drivers forPHPfor SQL Server,官方下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=20098,我使用的是SQLSRV2.0。

(2)、解压下载下来的文件将php_pdo_sqlsrv_53_ts_vc9.dll文件和php_sqlsrv_53_ts_vc9.dll文件复制到php安装目录下的ext文件夹中。此处根据版本不同使用的文件不同。

(3)、在php.ini中添加

extension=php_sqlsrv_53_ts_vc9.dll

extension=php_pdo_sqlsrv_53_ts_vc9.dll

到很多;extension=***.dll语句后面,注意extension_dir 指向的位置是否正确。

(4)、重启apache,然后访问http://apache访问地址/?Phpinfo=1,出现下面图片中的内容,则代表配置正确。

(5)、写测试代码,测试代码如下:

(6)、上面完成之后,测试代码的时候会出现连接失败,因为没有安装sql server nation client ,本地客户端,去下载合适的客户端,我使用的是Microsoft? SQL Server? 2012 Native Client,下载地址:

(7)、安装完成之后,在重新启动apache,然后访问就可以连接成功了。

(8)、注意:在php.ini文件所在的文件夹中必须要有ntwdblib.dll文件存在。

‘叁’ php怎么连接sql server 2012

一、环境
php5.2.5
sqlserver2008
win7
二、配置php
1、打开php.in将extension=php_mssql.dll的注释符号去掉。
2、打开php.in将mssql.secure_connection
=
off改为on。
3、从5.2开始,php就不再提供mssql.dll了,所以要php连接sql
server
2005/2008/2012必须要使用微软提供的sql
server
for
php
2.0/3.0
这个文件可以上微软官网下载(sqlsrv20.exe/sqlsrv30.exe),然后执行到wamp\php\ext文件夹下
打开php.ini文件
在extensions后面加上:
extension=php_sqlsrv_53_ts.dll
extension=php_pdo_sqlsrv_53_ts.dll
注:52代表php5.2
假如是php5.3就拷贝php_sqlsrv_53_ts_vc6.dll
关于vc6和vc9的区别
vc6
版本是使用
visual
studio
6
编译器编译的,如果你是在windows下使用apache+php的,请选择vc6版本。
vc9
版本是使用
visual
studio
2008
编译器编译的,如果你是在windows下使用iis+php的,请选择vc9版本。

‘肆’ php 怎么连接sqlserver

  1. 准备工作:SQLSRV20.EXE(PHP mssql扩展库)、php_mssql.dll文件。

  2. 安装PHP mssql扩展库:安装SQLSRV20.EXE,选择解压路径为:D:wampinphpphp5.2.9-2ext。

  3. 修改php.ini配置文件:打开php.ini配置文件,将其中

    ;extension=php_mssql.dll

    ;extension=php_pdo_mssql.dll

    前面的分号去掉,然后再”Dynamic Extensions”区域的后面添加php_sqlsrv的动态链接库文件: extension=php_sqlsrv_52_ts_vc6.dll

    extension=php_pdo_sqlsrv_52_ts_vc6.dll

  4. 注意事项:查看D:wampinphpphp5.2.9-2ext目录下有也Php_mssql.dll文件。如果没有,则下载该文件,复制到该目录下。

  5. 测试环境配置是否成功:打开浏览器,在地址栏输入http://localhost/?phpinfo=1 ,如果在打开的网页中查询到如下页面内容,则配置成功,否则配置失败。


‘伍’ php连接sql2000问题

PHP完全可以连接MSSQL的。
1.首先需要MSSQLClientTools是一个dll叫做ntwdblib.dll,它通常在MSSQLServer安装以后被到系统的system32文件夹下;如果是SQLServer就在本地,那你需要核实的是该ntwdblib.dll的版本与SQLServer的版本一致(2005对应2000.80.194.0,2000对应的是2000.2.8.0;)如果SQLServer在远程,需要将那个ntwdblib.dll拷贝到本机器的system32文件夹下;
(这里经常遇见的一个问题是,如果php<通常是较老的ntwdblib.dll>晚于SQLServer安装的话,php的ntwdblib.dll会覆盖SQLserver安装时在system32下的ntwdblib.dll,导致链接是提示:链接不上数据库)
2.核实完system32下的ntwdblib.dll之后,还需要将正确版本的ntwdblib.dll覆盖php文件夹下的ntwdblib.dll;
3.使用MSSQLServer的方法与MySQL的方法很类似;
如下:
<?php
//链接数据库
$conn=mssql_connect('IBM-F24B11ED1CCSQLEXPRESS','sa','123456');
mssql_select_db('LabMIS',?$conn);
//query语句
$Query="select*fromadmin";
$AdminResult=mssql_query($Query);
//输出结果
$Num=mssql_num_rows($AdminResult);
for($i=0;$i<$Num;$i++)
{
$Row=mssql_fetch_array($AdminResult);
echo($Row[1]);
echo("<br/>");
}
?>

‘陆’ PHP+MS SQL怎么连接啊

这个版本在生成的时候,就“--without-mssql”关闭了MSSQL了,加扩展是加不进去的,你需要下载一个没有“--without-mssql”的版本(7.0.25这个版本就可以了),然后下载SQLSRV的dll,加到PHP里面,这时候,phpinfo就可以看到SQLSRV了,但是这时候,数据库连接的时候还是会失败,这时候,就需要下载个微软官网下载ODBC驱动了,然后就可以连上了,我也是搞了2天才搞起来。

‘柒’ 几种常用PHP连接数据库的代码示例

PHP连接数据库之PHP连接MYSQL数据库代码

  • < ?php
  • $mysql_server_name= localhost ;
  • //改成自己的mysql数据库服务器
  • $mysql_username= root ;
  • //改成自己的mysql数据库用户名
  • $mysql_password= ;
  • //改成自己的mysql数据库密码
  • $mysql_database= mycounter ;
  • //改成自己的mysql数据库名
  • $conn=mysql_connect($mysql_server_name $mysql_username $mysql_password $mysql_database);
  • $sql= CREATEDATABASEmycounter _chinese_ci;
  • ;
  • mysql_query($sql);
  • $sql= CREATETABLE`counter` (`id`INT( )UNSIGNEDNOTNULL AUTO_INCREMENT `count`INT( ) UNSIGNEDNOTNULLDEFAULT PRIMARYKEY (`id`))TYPE=innodb; ;
  • mysql_select_db($mysql_database $conn);
  • $result=mysql_query($sql);
  • //echo$sql;
  • mysql_close($conn);
  • echo"Hello!数据库mycounter已经成功建立!";
  • ?>
  • PHP连接数据库之PHP连接ACCESS数据库代码方法

  • <?
  • $conn=new("ADODB Connection");
  • $connstr="DRIVER={MicrosoftAccessDriver(* mdb)};DBQ=" realpath("data/db mdb");
  • $conn >Open($connstr);
  • $rs=new("ADODB RecordSet");
  • $rs >Open("select*fromszd_t" $conn );
  • while(!$rs >eof){
  • $f=$rs >Fields( );
  • echo$f >value;
  • $rs >MoveNext();
  • }
  • ?>
  • PHP连接数据库之PHP连接MS SQL数据库代码方法

    安装SQL服务器并添加PHP的MSSQL扩展

    使用以下代码连接并测试

  • <?php
  • $myServer=localhost;//主机
  • $myUser=sa;//用户名
  • $myPass=password;//密码
  • $myDB=Northwind;//MSSQL库名
  • $s=@mssql_connect($myServer $myUser $myPass)
  • ordie(CouldntconnecttoSQLServeron$myServer);
  • $d=@mssql_select_db($myDB $s)
  • ordie(Couldntopendatabase$myDB);
  • $query=SELECTTitleOfCourtesy++FirstName++LastNameASEmployee;
  • $query =FROMEmployees;
  • $query =WHERECountry=USAANDLeft(HomePhone )=( );
  • $result=mssql_query($query);
  • $numRows=mssql_num_rows($result);
  • echo< h > $numRows Row ($numRows== ?:s) Returned</ h >;
  • while($row=mssql_fetch_array($result))
  • {
  • echo< li> $row[Employee] < /li>;
  • }
  • ?>
  • PHP连接数据库之PHP连接Oracle数据库

    PHP提供了两套函数与Oracle连接 分别是ORA_和OCI函数 其中ORA_函数略显陈旧 OCI函数更新据说更好一些 两者的使用语法几乎相差无几 你的PHP安装选项应该可以支持两者的使用

  • <?
  • if($conn=Ora_Logon("user@TNSNAME" "password"))
  • {echo"SUCCESS!Connectedtodatabasen";
  • }else
  • {echo"Failed: (Couldnotconnecttodatabasen";}
  • Ora_Logoff($conn);
  • phpinfo();
  • ?>
  • lishixin/Article/program/PHP/201405/30761

    ‘捌’ 如何让php5.5连接上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 2008 怎么写

    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比连接mssql的函数少了一些,但是也够用了。具体函数可以参考php官方手册

    阅读全文

    与php链接mssql相关的资料

    热点内容
    明日之后安卓太卡怎么办 浏览:502
    如何使用命令方块找到村庄 浏览:766
    泛函压缩映像原理 浏览:521
    win10清除文件夹浏览记录 浏览:964
    如何查看服务器域中所有服务 浏览:384
    学mastercam91编程要多久 浏览:999
    如何查服务器地址和端口 浏览:911
    教学云平台app怎么下载 浏览:389
    单片机510教学视频 浏览:624
    陕西信合app怎么查看自己的存款 浏览:663
    风冷冰箱有压缩机 浏览:274
    android实现wifi连接wifi 浏览:669
    飞猪app怎么帮别人值机 浏览:924
    笔记本开我的世界服务器地址 浏览:546
    怎样隐藏bat命令 浏览:127
    android开发创意 浏览:138
    京剧猫为什么进不去服务器 浏览:784
    怎么自己免费制作一个手机app 浏览:582
    python同时迭代两个变量 浏览:740
    好分数app家长版怎么删除孩子 浏览:426