php5.3不能连接mssql数据库的解决方法_php技巧

本文实例讲述了php5.3不能连接mssql数据库的解决方法。分享给大家供大家参考。具体分析如下:

自从php5.3之后系统就不支持mssql_connect这个函数连接了,以前我也讲可以使用com接口来实现,现在我再介绍解决php5.3不能连接mssql数据库另一方法.

windows系统下,PHP5.3以上的版本已经不支持mssql扩展.

首先http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx 点击 get it 下载SQLSRV20.EXE。

将文件解压到php的扩展文件夹ext下,打开php.ini在结尾添加:

复制代码 代码如下:

[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_53_nts_vc6.dll
[PHP_SQLSRV]
extension=php_sqlsrv_53_nts_vc6.dll

保存后重启apache即可,附上简单的php连接的例子,代码如下:

复制代码 代码如下:

<?php
$serverName = "(127.0.0.1)";
$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));
}
?>

我使用的是wamp5.1集成安装包,在windows server 2008上面做的测试,php5.4以上版本测试没有成功.

如果使用这个扩展连接Sql server 2005以上版本的sql server(如sql server 2008),你还需要在机器上先安装 SQL Server Native Client :http://download.microsoft.com/download/0/E/6/0E67502A-22B4-4C47-92D3-0D223F117190/sqlncli.msi

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

复制代码 代码如下:

sqlsrv_begin_transaction
sqlsrv_cancel
sqlsrv_client_info
sqlsrv_close
sqlsrv_commit
sqlsrv_configure
sqlsrv_connect
sqlsrv_errors
sqlsrv_execute
sqlsrv_fetch
sqlsrv_fetch_array
sqlsrv_fetch_object
sqlsrv_fetch_metadata
sqlsrv_free_stmt
sqlsrv_get_config
sqlsrv_get_field
sqlsrv_has_rows
sqlsrv_next_result
sqlsrv_num_fields
sqlsrv_num_rows
sqlsrv_prepare
sqlsrv_query
sqlsrv_rollback
sqlsrv_rows_affected
sqlsrv_send_stream_data
sqlsrv_server_info

更多详细的说明可以在刚才的自解压的文件中有个 SQLServerDriverForPHP.chm 帮助文件中可以找到打开后点击API Reference节点.

另外看一种odb连接方式,代码如下:

复制代码 代码如下:

$dbhost = '';
$dbuser = ''; //你的mssql用户名
$dbpass = ''; //你的mssql密码
$dbname = ''; //你的mssql库名
$connect=odbc_connect("Driver={SQL Server};Server=$dbhost;Database=$dbname","$dbuser","$dbpass");
$sql="select * from content";
$exec=odbc_exec($connect,$sql);
while($row = (odbc_fetch_array($exec)))
{
$row['id']   //?取字段值

}

希望本文所述对大家的php程序设计有所帮助。

时间: 2024-12-23 14:43:32

php5.3不能连接mssql数据库的解决方法_php技巧的相关文章

PHP基于mssql扩展远程连接MSSQL的简单实现方法_php技巧

本文实例讲述了PHP基于mssql扩展远程连接MSSQL的简单实现方法.分享给大家供大家参考,具体如下: 这里给出的是一个简单的示例,没有做安全考虑,自行处理吧: <?php // 连接数据库 $conn = mssql_connect('hostip:1433','user','pass') or die("SQL SERVER 数据库连接失败!"); // 选择数据库 mssql_select_db('UserInfo', $conn); // sql语句 $sql = &q

php 连接mssql数据库 初学php笔记_php技巧

复制代码 代码如下: <?php $serverSite="."; $db="phpdemo"; $name="sa"; $pass="sa"; $conn=@mssql_connect($serverSite,$name,$pass) or die("数据库连接错误!"); @mssql_select_db("phpdemo",$conn); echo 'this can be

php 连接mysql连接被重置的解决方法_php技巧

新装了windows7 64位系统后,配备布置许多东西,总是有这样的那样子的拂意,昨天在开始配备布置php+apache的时候,echo phpinfo()完全没问题,但是一朝连接mysql就会呈现页面被重置的问题.原来问题不大,但是我却走到了误区: 1.我怀疑64位系统的问题: 2.我感觉代码靠不住,因为另外都能执行,轻率写个 substr()也是能显示出来的 ...... 这个问题纠结了我一天多,但是还是没解决到,无奈之下 我用" php 连接 mysql 连接被重置 "为关键字举

thinkphp3查询mssql数据库乱码解决方法

 这篇文章主要介绍了thinkphp3查询mssql数据库乱码解决方法,需要的朋友可以参考下 thinkphp查询mssql数据库出现乱码的原因是ThinkPHP默认为UTF-8,而msmsql数据库是简体中文版,存储的是GB2312编码   解决方法:   1:在ThinkPHPLibCore 打开Db.class.php,在其最后面加上 2:在Db.class.php找到function select(),在$result = $this->query($sql);后面加一条 $result

PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法_php技巧

本文实例讲述了PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法.分享给大家供大家参考.具体分析如下: PHP 连接 MSSQL 的新手经常遇到这个问题:数据库里面的 nvarchar 字段中数据一切正常,但是用 PHP 查询出来却发现长度只有 255,我们都知道,在 MySQL 里面 varchar 的长度只有 255,但是 MSSQL 却不是,不会是 PHP 将 nvarchar 按照 MySQL 的 varchar 处理了吧. 本文给出了解决方法: 复制代码 代码如下:

Win2003 64位下ASP无法连接Access数据库的解决方法_win服务器

ADODB.Connection 错误 '800a0e7a' 未找到提供程序.该程序可能未正确安装. /连接"网站内容管理"数据库.asp,行 2 原因:IIS是以64位方式来运行的,它只能加载64位模块,不能加载32位模块.而访问access数据库的jet引擎只有32位的,没有64位,因此无法被IIS加载. 解决思路:让IIS以32位方式运行,从而可以调用32位的jet引擎 解决方法:在命令行窗口输入 复制代码 代码如下: cscript C:\inetpub\adminscript

php连接Access数据库错误及解决方法_php技巧

php+access连接数据库常用的方式一般有两种. 推荐的代码 需要注意php获取路径用的是realpath 复制代码 代码如下: <?php $connstr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("data.mdb"); $connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC); $i

thinkphp3查询mssql数据库乱码解决方法分享_php实例

thinkphp查询mssql数据库出现乱码的原因是ThinkPHP默认为UTF-8,而msmsql数据库是简体中文版,存储的是GB2312编码 解决方法: 1:在ThinkPHP\Lib\Core 打开Db.class.php,在其最后面加上2:在Db.class.php找到function select(),在$result = $this->query($sql);后面加一条 $result=iconv2utf8($result),就OK了 复制代码 代码如下: public functi

php 连接mssql数据库与配置方法

$localhost ='127.0.0.1';//mssql数据库ip   $sa ='sa';//mssql登录用户名   $pwd='123';//连接密码   $db = 'cs';//数据库   $conn=mssql_connect($localhost,$sa,$pwd) or die('mssql数据库连接失败');   mssql_select_db($db,$conn);//选择操作的数据库与mysql教程是相同的 //query语句    $query="select *