php连接微软MSSQL(sql server)完全攻略

发布时间:2018-11-15  栏目:SQL  评论:0 Comments

转自:http://www.maomao365.com/?p=5416

每当研究ezSQL的当儿就见到了mssql_connect()等片php提供的连年MSSQL的函数,本以为php这个开源之盛世界的编程语言对连接微软的数应是未以言语下的,但是到真正执行之早晚,才意识困难多。

 

同一开始我下载的php版本是5.93之,下载下来添加环境变量等等搞了半天后,phpinfo()这个函数终于不负众望的运转于浏览器中了。然后当自身当充满世界的找php_mssql.dll,才察觉在5.3和上述版本的php中已休是原来生态的支持mssql了。

摘要:
order by 1,2 的意义是对表的率先排  按照自小至那个之次第进行排列

终于找到了微软Microsoft Drivers 3.0 for PHP for SQL
Server,心想微软的事物应该做的得,却无奈的发现SQLSRV30.EXE没有辙运行:“SQLSRV30.EXE
请勿是行之win32程序”。

 然后再行对亚列本从小到非常之相继进行排

以网上搜寻了大体上天,总结了以下部分使得的方法,但是以就前面您要:

  order by 1,2 等同于 order by [第一列],[第二列] 

配置MICROSOFT SQL SERVER

 详见之下举例说明
 

1、下载并安装sql server。现在此本就于多矣于2000
到2008未等于,找一个你协调下充斥吧。

 

2、开放tcp/ip连接方式,使得数据库能够远程访问。SQL Server Configuration
Manager -> Network Configuration -> Protocols -> TCP/IP enabled

 

3、打开数据管理界面,添加用户和数据库。

create table A (keyId varchar(20),name varchar(120))
go
insert into A (name,keyId)values(10,'we')
insert into A (name,keyId)values(2,'b')
insert into A (name,keyId)values(3,'C')
insert into A (name,keyId)values(4,'a')
insert into A (name,keyId)values(5,'E')
insert into A (name,keyId)values(7,'F')
go
select * from A 
go
select * from A order by  1,2 
go
truncate table A
drop table A 
go 

4、安装php和配置IIS服务。

 

5、打开php所在文书夹里面的 php.ini文件,并累加:

mssql.textlimit = 20971520
mssql.textsize = 20971520

召开了了这些下,你得随下面三栽方式来连续数据库了:

用php自带的主意连接MSSQL(5.3与随后版本不适用)

保证php ext扩展库文件夹下起php_mssql.dll,然后于PHP.ini中之安排中,将

;extension=php_mssql.dll

前面的“;”去掉。

下一场你可以测试连接了:

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

//测试连接
if($conn)
{
 echo "连接成功";
}

Microsoft Drivers for SQL Server for PHP

2008年7月微软颁布了一个新的为php连接SQL
Server的驱动,它改善了php自带的连MSSQL函数的局部通病,并且是因php扩展插件的形式开发之,通过其若可为此php轻松的读写微软的数据库了。

若是你服务器使用的是IIS的言辞,那么即使得要是从此间去下载:

http://php.iis.net/

坐从上述链接进去其实是微软重组的大网支出平台,只提供在线安装,但是很有益之组合了PDO插件和php,当然还有微软的别样一些开发效益,但是如果您无要,你得不装了,那些是于visual
studio中之。

只是要您用之凡
Apache的语,你可去这里一直下载者插件了,它实质上是一个解压文件,解压出来几个DLL文件,具体操作如下:

1)下载驱动包:http://www.microsoft.com/en-us/download/details.aspx?id=20098.

2)将DLL文件解压到 PHP extension_dir 目录,如果起说SQLSRV30.EXE
不是卓有成效之win32主次,可能是缺少某些库,可能是vc10,也发出或是没有用administrator权限运行。

extension_dir = “C:\PHP\ext”

图片 1

3)在php.ini配置文件内援相应的动态链接库文件

extension=php_sqlsrv_52_ts_vc6.dll
extension=php_pdo_sqlsrv_52_ts_vc6.dll
extension=php_pdo.dll

内部的52、53表示即是php的5.2.x和5.3.x 版本,选择与你php版本相兼容的;
挑选vc6或vc9的重大关押您采取的是呀web服务器软件,如果采用的凡IIS那就选择vc9的,如果是Apache则选择vc6的。
有关ts和nts,就要扣而安装之php版本是线程安全版的抑非线程安全版,ts是线程安全,nts是非线程安全。

4)重启Apache
5)连接数据库

测试连接代码:

<?php
//本地测试的服务名
"(local)";
//使用sql server身份验证,参数使用数组的形式,一次是用户名,密码,数据库名
//如果你使用的是windows身份验证,那么可以去掉用户名和密码
$connectionInfo = array( "UID"=>"root",
    "PWD"=>"root2010",
    "Database"=>"master");

$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn )
{
 echo "Connection established.\n";
}
else
{
 echo "Connection could not be established.\n";
 die( print_r( sqlsrv_errors(), true));
}
 ?>

在windows下使用FreeTDS

哟是FreeTDS?
FreeTDS其实就是一个开源(或者好说成自由)的C程序库,它可以兑现以Linux系统下看操作微软的SQL数据库。可以为此在Sybase的db-lib或者ct-lib库,在其间为蕴藏了一个ODBC的仓库。允许多应用软件连连至Sybase或者微软的SQL服务器。FreeTDS是以源码的现实性发布之,正缘凡这样,所以它几乎可于另系统遭到展开编译安装。

使一旦您的服务器是Windows系统, 那么你当使用 php_dblib.dll。(more
information on Using FreeTDS for Unix.)

通常咱们得以以这网站上找到这些DLL文件- Frank Kromann’s site,
但是她基本上很多都曾经不合时宜了,并且会掀起过多底题材,因此我们引进windows下以PHP
5.2.x版本,并且探望下面的提议 :

  1. 按下面的表来下充斥 php_dblib.dll 并且用该保存及 /PHP/ext
    文件夹下面.

PHP version

Thread
Safe

FreeTDS version

Download URL

PHP 5.2.x (vc6)

Yes

0.82 + 20090302 patches

Download!

No

0.82 + 20090302 patches

Download!

PHP 5.3.x (vc9)

Yes

0.82 + 20090904 patches

Download!

No

0.82 + 20090904 patches

Download!

PHP 5.4.x (vc9)

Yes

0.82 + 20110906 patches

Download!
FTP
Download!

No

0.82 + 20110906 patches

Download!
FTP
Download!

2、 FreeTDS 需要设置 .NET Framework v1.1
,你可交微软的网站去下载。或者你失去Frank’s site
下充斥需要之DLL文件,并保存及公的/PHP根目录下面。

3、在php配置文件 /PHP/php.ini 中加上:

extension=php_dblib.dll

4、当php引擎启动FreeTDS模块的时节用传递一些信息,使得FreeTDS能够连续至她的默认的数据库。因此其的需在freetds.conf中定义数据库连接的主干信息,该文件在那个根目录下,可以按照卿的场面来展开修改:

[global]
host = xxx.xxx.xxx.xxx (host name or ip of the MSSQL server)
port = 1433
client charset = UTF-8
tds version = 8.0
text size = 20971520
5、创建config.php文档来定义数据库连接参数:

$CFG->dbtype = 'mssql'; // Required
$CFG->dbhost = 'localhost'; // assuming MS SQL is on the same server, otherwise use an IP
$CFG->dbname = 'moodle';  // or whatever you called the database you created
$CFG->dbuser = 'yourusername'; // I usually use the 'sa' account (dbowner perms are enough)
$CFG->dbpass = 'yourpassword';
$CFG->dbpersist = false;
$CFG->prefix = 'mdl_';  //Prefix, you can change it, but NEVER leave it blank.

6、 重启你的网站,如果要无连接到你的数据库的话,在
/PHP/php.ini文件中将display_startup_errors改呢”On”,当您解决了这些题目后再度用错误报告改也“Off”;
7、测试你的网站,建立test.php文件,代码如下,访问http://localhost/test.php进行测试

<?php
 $link = mssql_connect('localhost', 'db_user', 'db_password');
 if(!$link) {
  echo'Could not connect';
  die('Could not connect: ' . mssql_error());
 }
 echo'Successful connection';
 mssql_close($link);
?>

哼了windows下下FreeTDS网上的材料一老大堆就不再说了,至此,此篇日志结束。

汝可能感兴趣之稿子:

  • PHP基被mssql扩展远程连接MSSQL的简练实现方式
  • php基于PDO连接MSSQL示例DEMO
  • PHP连接MSSQL方法汇总
  • php5.3不可知接二连三mssql数据库的解决方法
  • php使用pdo连接mssql
    server数据库实例
  • php的mssql数据库连接类实例
  • PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
  • php连接mssql数据库的几栽艺术
  • php连接mssql的组成部分连锁经验以及注意事项
  • 关于php连接mssql:pdo odbc sql
    server
  • php下连接mssql2005的代码
  • php 连接mssql数据库
    初学php笔记
  • php
    adodb连接mssql解决乱码问题

留下评论

网站地图xml地图