㈠ php连sqlserver2008 r2需要什么版本的ntwdblib.dll
版本的选择是依据php版本决定的,具体如下:
一、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是非线程安全。
㈡ PHP连接sql2008 R2 Call to undefined function sqlsrv_connect() in 错误!!
Call to undefined function sqlsrv_connect() 是说根本就没这个函数,你确定扩展都加上了么。。。
检查你的php的ext扩展文件夹里面有没有 php_sqlsrv_53_nts_vc9.dll 这个文件
有的话,还要在c盘的windows下的 php.ini 的扩展部分加一句
extension=php_sqlsrv_53_nts_vc9.dll
再重启服务器
还有就是你的连接参数格式有问题
$connstr=array("Database"=>"test","Uid"=>"sa","Pwd"=>"123456","CharacterSet"=>"UTF-8");
$conn=sqlsrv_connect('127.0.0.1',$connstr);
你看,服务器地址是字符串,不加括号,至于数组的键名是否区别大小写我就不太清楚了,不过我这个是实际用的,应该是正确的,你不妨全抄过去试一试
㈢ php连接sqlserver2008操作
类拟数据库调式的,最好加一句
mssql_select_db($dbName, $conn);
$result=mssql_query("update CRM_GROUP set read_flag='$bool' where client_id='$clientid'",
mssql_min_error_severity(1);
$query = mssql_query('SELECT `syntax`, `error` FROM `MSSQL`');
if (!$query) {
//读取Query相关的信息来获取当前错误
}
或着直接在mssql内调式以上语句,这样找到问题稍快一些
㈣ php如何连接到SQL SERVER 2000 数据库
先php扩展允许mssql,重启IIS或apache,然后用以下代码连接
<?php
$server='ip地址或服务器名';
$username='数据库用户名';
$password='数据库密码';
$database='数据库名';
$conn=mssql_connect($server,$username,$password)
or die("Couldn't connect to SQL Server on $server");
$db=mssql_select_db($database) or die("Couldn't open database $database");
?>
㈤ php杩炴帴mssql鏁版嵁搴撶殑鍑犵嶆柟娉昣php瀹炰緥
娉ㄦ剰瑕侀吨钖链嶅姟浣垮叾鐢熸晥銆 涓銆佸缓绔嬭繛鎺1銆乷dbc棣栧厛锛屽湪php绋嫔簭镓鍦ㄧ殑链嶅姟鍣ㄨ剧疆odbc銆傝繖閲32浣嶅拰64浣嶆搷浣灭郴缁熸湁鍖哄埆銆32浣岖殑浠庢带鍒堕溃𨱒夸腑绠$悊宸ュ叿涓镄勬暟鎹婧愶纸odbc锛夌洿鎺ュ缓绔嫔氨鍙浠ヤ简锛64浣岖殑瑕佽繍琛孋:WindowsSysWOW64odbcad32.exe 浠庤繖閲岄溃璁剧疆銆傛敞镒忥细涓婇溃鍙镄勬槸鏁版嵁搴撴湇锷″櫒涓32涓虹殑锛屾暟鎹婧愯剧疆链嶅姟鍣ㄤ负32浣嶅拰64浣崭袱绉岖殑𨱍呭喌銆傚彧瑕佷袱涓链嶅姟鍣ㄥ缓绔嬬殑鏁版嵁婧愪綅鏁颁竴镊村氨濂姐 涓嬮溃鏄痮dbc寤虹珛杩炴帴浠g爜銆 澶嶅埗浠g爜浠g爜濡备笅:$con = odbc_connect('odbc钖岖О','鐢ㄦ埛钖','瀵嗙爜'); 2銆佽繛鎺mssql2000澶嶅埗浠g爜浠g爜濡备笅:$con = mssql_connect('鏁版嵁搴揿湴鍧','鐢ㄦ埛钖','瀵嗙爜'); 3銆佽繛鎺mssql2008澶嶅埗浠g爜浠g爜濡备笅:$connectionInfo = array("UID"=鐢ㄦ埛钖,"PWD"=瀵嗙爜,"Database"="鏁版嵁搴揿悕绉"); $con = sqlsrv_connect( 鏁版嵁搴揿湴鍧,$connectionInfo); 浜屻佽緭鍏ユ煡璇浠g爜 杩欎釜閮戒竴镙凤纴鍙浠ョ洿鎺ュ啓鍏ワ纴涔熷彲浠ヤ粠mssql涓楠岃瘉濂藉悗澶嶅埗杩囨潵銆傜亩鍗旷偣璇村氨鏄鎶娄竴涓狲ql璇鍙ヨ祴鍊肩粰涓涓鍙橀噺銆 绫讳技涓嬮溃浠g爜澶嶅埗浠g爜浠g爜濡备笅:$query = "SELECT top 12 * 鏁版嵁搴揿悕绉 order by id desc"; 涓夈佸缓绔嬫煡璇㈠苟鍙栧嚭鏁版嵁1銆乷dbc澶嶅埗浠g爜浠g爜濡备笅:$result = odbc_do($con,$query); while(odbc_fetch_row($result)){$鍙橀噺钖岖О = odbc_result($result, "瀛楁靛悕绉");}2銆佽繛鎺mssql2000澶嶅埗浠g爜浠g爜濡备笅:$result = mssql_query($con, $query); while($row =mssql_fetch_array($result)){$鍙橀噺钖岖О = $row["瀛楁靛悕绉"];}3銆佽繛鎺mssql2008澶嶅埗浠g爜浠g爜濡备笅:$result = sqlsrv_query($con, $query); while($row = sqlsrv_fetch_array($result)){$鍙橀噺钖岖О = $row["瀛楁靛悕绉"];}鍦╬hp5.3鍙娄互钖庣殑鐗堟湰涓涓嶉梼甯sqlsrv搴扑简銆傛墍浠ヨ佷粠寰杞杩欓噷涓嬭浇銆 锲涖佸叧闂杩炴帴
㈥ php 连接server sql2008
楼主能走到这一步说明做过不少工作,对流程有所了解,闲话不多说。
说下我感觉:最大的可能是php_sqlsrv_52_ts_vc6.dll注意52,vc6这个文件,52对应PHP版本,apacheIIS应注意vc6,vc9的选择。
如果不行再联系,我刚刚配置过还热乎着