以前用的都是mysql,今天突然想用下mssql,起先用的是sql server200.
第一种方法
打开mssql.dll拓展。然后把mssql.secure_connection = off改为on
使用mssql拓展。类似于mysql拓展库
$conn=@mssql_connect('(local)','sa',''); if(!$conn){ //die(mssql_error()); die("lianj"); } mssql_select_db('ejia');
第二种方法
使用sqlsrv 拓展库。需要在http://www.microsoft.com/en-us/download/details.aspx?id=20098 下载。有2.0和3.0两个版本,2.0支持php5.2 3.0支持php5.3以及以上版本
3.0为例
包括php5.3和php5.4两个php版本,而每个版本又有pdo和sqlsrv拓展。
带有nts说明是非线程安全,不建议用于正式环境
把对应的dll文件放到ext文件夹下,然后在php.in中加入extension=对应的拓展库。重启apache即可
SQLSRV_Help.chm是参考文档,有案例。
1 $connectionInfo = array("UID" => 'sa', "PWD" => '', "Database"=>"ejia"); 2 $serverName = "(local)"; 3 $conn = sqlsrv_connect( $serverName, $connectionInfo); 4 if(!$conn){ 5 6 echo "连接失败"; 7 }
PDO_sqlsrv方式连接
1 <?php 2 //官方例子 3 $c = new PDO( "sqlsrv:Server=(local) ; Database = AdventureWorks ", "", "", array(PDO::SQLSRV_ATTR_DIRECT_QUERY => true)); 4 5 $query = 'SELECT * FROM Person.ContactType'; 6 $stmt = $c->query( $query ); 7 while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ) { 8 print_r( $row ); 9 } 10 $c = null; 11 ?> 12
注意在sql2000以上环境,mssql拓展就不能正常使用了,所以推荐使用sqlsrv和PDO_sqlsrv
在高版本是数据库上,可能需要安装sql server 2008 Native Client