在研究ezSQL的时候就看到了mssql_connect()等一些php提供的连接MSSQL的函数,本以为php这个开源的风靡世界的编程语言对连接微软的数据应该是不在话下的,但是到真正执行的时候,才发现困难多多
在研究ezSQL的时候就看到了mssql_connect()等一些php提供的连接MSSQL的函数,本以为php这个开源的风靡世界的编程语言对连接微软的数据应该是不在话下的,但是到真正执行的时候,才发现困难多多。
一开始我下载的php版本是5.93的,下载下来添加环境变量等等搞了半天后,phpinfo()这个函数终于成功的运行在浏览器中了。然后当我在满世界的找php_mssql.dll,才发现在5.3以及以上版本的php中已经不是原生态的支持mssql了。
好不容易找到了微软Microsoft Drivers 3.0 for PHP for SQL Server,心想微软的东西应该做的可以,却无奈的发现SQLSRV30.EXE没有办法运行:“SQLSRV30.EXE 不是有效的win32程序”。
在网上搜索了半天,总结了以下一些可行的办法,但是在这之前你需要:
配置MICROSOFT SQL SERVER
1、下载并安装sql server。现在这个版本就比较多了从2000 到2008不等,找一个你自己下载吧。
2、开放tcp/ip连接方式,使得数据库能够远程访问。SQL Server Configuration Manager -> Network Configuration -> Protocols -> TCP/IP enabled
3、打开数据管理界面,添加用户和数据库。
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:PHPext”
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); ?>
以上就是本文的全部内容,希望对大家的学习有所帮助。
相关推荐:
以上是php连接微软MSSQL(sql server)攻略的详细内容。更多信息请关注PHP中文网其他相关文章!

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。详细介绍:1、使用PHP的MSSQL扩展方法,确保PHP安装了MSSQL扩展。可以在PHP配置文件(php.ini)中检查是否启用了mssql扩展;2、使用PDO方法,确保PHP安装了PDO扩展。可以在PHP配置文件(php.ini)中检查是否启用了pdo_sqlsrv扩展。

Ubuntu是一款流行的开源操作系统,常用于服务器运行。在Ubuntu上安装PHP并配置MSSQL连接是许多开发者和系统管理员经常需要做的操作之一。本文将为读者提供一份详细的指南,步骤包含安装PHP、设置Apache、安装MSSQLServer等内容,并附上具体的代码示例。第一步:安装PHP及相关扩展首先,我们需要安装PHP及其相关扩展,以便支持PHP连接

WindowsServerBackup是WindowsServer操作系统自带的一个功能,旨在帮助用户保护重要数据和系统配置,并为中小型和企业级企业提供完整的备份和恢复解决方案。只有运行Server2022及更高版本的用户才能使用这一功能。在本文中,我们将介绍如何安装、卸载或重置WindowsServerBackup。如何重置Windows服务器备份如果您的服务器备份遇到问题,备份所需时间过长,或无法访问已存储的文件,那么您可以考虑重新设置WindowsServer备份设置。要重置Windows

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

在PHP中,可以利用implode()函数的第一个参数来设置没有分隔符,该函数的第一个参数用于规定数组元素之间放置的内容,默认是空字符串,也可将第一个参数设置为空,语法为“implode(数组)”或者“implode("",数组)”。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境