解决php5.3不能连接mssql数据库问题
2014-05-27 10:48
731 查看
自从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'] //?取字段值
…
}
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'] //?取字段值
…
}
相关文章推荐
- php5.3不能连接mssql数据库的解决方法
- php5.3不能连接mssql数据库的解决方法
- php5.3不能连接mssql数据库的解决方法
- php5.3不能连接mssql数据库的解决方法
- MYSQL+PHP5.2.17+IIS5.1不能连接数据库问题解决方法
- LINUX下php连接mssql数据库中文字符乱码问题解决
- 使用SQL Server Driver for PHP解决PHP连接MSSQL乱码的问题
- 解决SQL server 2005 数据库只能用计算机名连接不能用IP地址的问题
- 解决没有安装Qt 的mysql sql驱动插件情况下不能连接数据库的问题
- 关于PHP无法连接MSSQL数据库的问题
- PHP PDO类解决数据库连接问题
- 解决ubuntu下mysql不能远程连接数据库的问题
- Python连接mssql数据库编码问题解决方法
- php升级到5.3+以后,mysqlnd连接数据库的问题
- [ASP/PHP/JSP]MySQL5.0中文问题及JDBC数据库连接和JSP汉字编码问题解决方法总结
- 解决ubuntu下mysql不能远程连接数据库的问题
- WindowsXP中用IIS浏览ASP不能连接数据库问题的解决方法
- php adodb连接mssql解决乱码问题
- php 5.3连接mssql2005以上版本的数据库
- php 5.3连接mssql2005以上版本的数据库