⑴ php 怎么连接sqlserver
准备工作:SQLSRV20.EXE(PHP mssql扩展库)、php_mssql.dll文件。
安装PHP mssql扩展库:安装SQLSRV20.EXE,选择解压路径为:D:wampinphpphp5.2.9-2ext。
修改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
注意事项:查看D:wampinphpphp5.2.9-2ext目录下有也Php_mssql.dll文件。如果没有,则下载该文件,复制到该目录下。
测试环境配置是否成功:打开浏览器,在地址栏输入http://localhost/?phpinfo=1 ,如果在打开的网页中查询到如下页面内容,则配置成功,否则配置失败。
⑵ thinkphp5 sqlserver 怎么使用 order
数据库配置格渗物族式为
'db_type' => 'pdo',
'db_user' => 'XX',
'db_pwd' => 'XXXXXXXX',
'DB_DSN' => 'sqlsrv:Server=XXXXXX;Database=XXXX',
用不上thinkphp的DB_type为mssql 和sqlser这两个类型。
pdo连接在php5.3需要扩展dll,扩展文件为:php_pdo_sqlsrv_53_ts_vc9.dll(64位操作系统).在微软下载网站上查找SQLSRV20.EXE下载。EXE是可丛弊解压文件。
安装SqlServer的软件,由于很少接触mssql,这软件干嘛的我也不蚂仿知道,应该是用来连接数据库的,名称是sqlncli,在微软下载网站上查找sqlncli.msi下载安装。
⑶ PHP5.5 连接 SqlServer2008问题求解!!!
我这边PHP环境是5.2,下载php_mssql.dll并开启就可以连接了。
⑷ 宝塔linux 面板安装 php sqlserver 扩展
用unixODBC连接
记录步骤,详细细节请自己问网络
首先需要安装freetds
cd freetds-0.91
./configure --prefix=/usr/local/freetds --enable-msdblib --with-tdsver=7.1 // 注意这里用7.1 因为最高是7.2 如果用7.2会默认5.0
make && make install
当然我推荐使用ODBC+freetds 毕竟这样PHP可以更好的支持
所以先安装 unixODBC
cd unixODBC-2.3.1
./configure --prefix=/usr/local/unixODBC
make && make install
然后freetds需要如下配置
./configure --prefix=/usr/local/freetds --with-unixodbc=/usr/local/unixODBC --enable-msdblib --with-tdsver=7.1
make && make install
配置ODBC
cd /usr/local/unixODBC/etc
vi odbcinst.ini
[TDS]
Description = MS-SQLServer
Driver = /usr/local/freetds/lib/libtdsodbc.so
Setup = /usr/local/freetds/lib/libtds.so
FileUsage = 1
保存退出
vi odbc.ini
[mssql]
Driver = TDS
Server = 192.168.1.2
Database = xxxDB
Port = 1433
Socket =
Option =
Stmt =
保存退出
现在可以测试连接SQLSERVER了
/usr/local/unixODBC/bin/isql -v mssql sa password
//mssql 是 odbc.ini里定义的节点名
完美成功。。。
当然别忘记去PHP动态的扩展ODBC组件
⑸ 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)
解决方法:需要安装SQL Server 2008 Native Client ODBC Driver,下载安装文件sqlncli.msi,安装后就可以了。
⑹ php pdo sqlserver PDO::ATTR_TIMEOUT
win用微软官方扩展,然后win和linux连接sqlserver的代码分别如下: if(DIRECTORY_SEPARATOR == '\\') { $this->linkID[$linkNum] = new PDO("sqlsrv:Server={$config['host']};Database={$config['dbname']};", $config['username'], $config
⑺ PHP连接SQLServer2005的方法
1.修改php.ini将extension=php_mssql.dll的注释删除保存。
修改php.in将mssql.secure_connection
=
Off改为mssql.secure_connection
=
On。
2.下载连接2005的ntwdblib.dll
(2000.80.194.0)
点击下载
3.
打开文件X:AppServphp5ext,把php_mssql.dll
复制到system32目录下。
把下载的ntwdblib.dll
复制到system32目录下。
把下载的ntwdblib.dll
复制到php5目录下。
重启apache服务
连接MS
SQL
Server
2005代码
复制代码
代码如下:
<?php
$conn=mssql_connect(ཷ.173.xxxxxx.xxxxxx,1468','sa','xxxxxx');
mssql_select_db('HR',$conn);
$Query="select
*
from
Class";
$Result=mssql_query($Query);
$Number=mssql_num_rows($Result);
for($i=0;$i<$Number;$i++)
{
$Row=mssql_fetch_array($Result);
echo($Row[1]);
echo("<br/>");
}
?>
看,是不是已经连接上了sql2005了呢,希望小伙伴们能够喜欢。
⑻ php连接sqlserver2008失败
这个是提示你没有安装MSSQl 2012的驱动扩展。
从Sql Server 2008开始,不再支持PHP自带的驱动程序,需要使用微软提供的驱动程序。此驱动程序抛弃了mssql系列函数,只能使用sqlsrv和pdo的方式进行连接操作。
步骤1:下载微软Sql Server官方驱动程序,下载地址:
http://www.microsoft.com/en-us/download/details.aspx?id=20098
步骤2:安装Sql Server的驱动扩展
将下载好的exe程序打开,解压会释放出很多.dll文件,将对应的dll文件拷贝到你的php扩展包目录下的ext目录。
解压得到的dll文件中文件名的数字部分(例如52,53)代表对应不同的PHP版本,文件名中带n的为非线程安全的,文件名中的vc对应的是VC版本,VC6可以部署到Apach2.X版本,VC9可部署到更高版本Apache。
首先,需要确定你的PHP的版本,假设PHP的版本为5.3.x
其次,要确定你的PHP运行的是线程安全的还是非线程安全的(假设线程安全)。
另外,还需要确认的版本(假设Apache2.2)。
那么,你对应的文件应当是php_pdo_sqlsrv_53_ts_vc6.dll(PDO链接)和php_sqlsrv_53_ts_vc6.dll(sqlsrv链接),将这两个文件拷贝到你的PHP的扩展包下的ext目录,然后要修改php.ini,增加这两项扩展的支持:
extension=php_sqlsrv_53_ts_vc6.dll
extension=php_pdo_sqlsrv_53_ts_vc6.dll
保存后重启Apache即可。
⑼ php用sqlsrv连接sqlserver,报错,怎样解决
根据php官方手册,衫丛对于sqlsrv这个扩展的需求是这样说明的:
需求
The SQLSRV extension can be used on the following operating systems:
Windows Vista Service Pack 2 or later
Windows Server 2008 Service Pack 2 or later
Windows Server 2008 R2
Windows 7
也就是或橡樱说,sqlsrv这个扩展仅被用于windows平如吵台,并且其版本要是windows Vista以上的版本才能正确运行。
⑽ centos7 php5.6 如何安装mssql扩展,需要支持sqlserver2012
其实sqlserver不一定要mssql扩展,可以使用pdo连接
$Conn=newPDO('dblib:数据库地址:数据库端口;dbname=数据库名称','数据库用户','数据库密码'和颂芹);
不过,centos7系统是linux系统,sqlserver数据库只能运行在win系统下,你要远程连接数据库?
如果真是这样,那还不如直接服务器用windows操作系统,虽然linux运行php各方面比win系统好些,但相对远程连接数据库来说,就不如php和sqlserver放在一台服樱槐务器了!
远程连唤毕接数据库,速度上有很大影响!具体还得看两台服务器放置的机房和配置等之类的!