php 串連 mssql sql2008

來源:互聯網
上載者:User

標籤:

摘要

sql server 2008

1.下載微軟提供的dll

:http://www.microsoft.com/en-us/download/details.aspx?id=20098

php5.4需下載 SQLSRV30.EXE,這個exe是一個自解壓檔案,下載後雙擊選路徑解壓會得到一堆dll和說明檔案。

2、將對應自己php版本的dll檔案copy到php ext目錄下

ts是指安全執行緒(ThreadSafe),nts是指線程不安全,得根據安裝的php版本來選擇,如果不確定,就分別嘗試一下;

我用的php5.4,就將php_sqlsrv_54_ts.dll複製到ext目錄下,

例如:D:\Program Files\PHP 5.4\ext

3、修改php.ini檔案

增加二行:extension=php_pdo_sqlsrv_54_ts.dll

                      extension=php_sqlsrv_54_ts.dll

修改一行 :   mssql.secure_connection = Off  改為on

4、重啟apache

5、配置MS SQL Server2005

a、開啟 SQL Server 組態管理員:SQL Server Configuration Manager,開啟協議;

b、啟用“Named Pipes”和“TCP/IP”,預設是已禁用的;

c、右鍵點擊“TCP/IP”,選擇“屬性”,選擇“IP地址”,在”ALLIP“下的“TCP動態連接埠”後填寫1433;

d、重啟SQL Server。

備忘:記得開啟sa登入。

6、安裝Microsoft SQL Server 2012 Native Client.msi

根據自己系統在PHP伺服器所在機器安裝Microsoft SQL Server 2012 Native Client.msi,分X64和X86的。

:http://www.microsoft.com/zh-cn/download/details.aspx?id=29065 

此工具不支援XP系統哦,所以XP去用PHP5.3吧~

另外這個是安裝在php環境的的伺服器下面 PS:不是獨立資料庫伺服器的請自動忽略。

7、php資料庫代碼

<?php/*串連資料庫,5.4的函數不再是mssql_connect了:*/$conInfo=array("Database"=>"att2008", "UID"=>"att2008", "PWD"=>"att2008");$conn=sqlsrv_connect("127.0.0.1", $conInfo); /*判斷串連成功與否:*/if( $conn == false ){die( print_r( sqlsrv_errors(), true));}else{echo("yes<br>");} $table_name = "USERINFO";/*如果你牛叉的資料庫表名是中文,記得加上這句:*///$table_name = iconv("UTF-8", "GB2312", "牛叉的中文表名");/*query語句:*/$rs=sqlsrv_query($conn, "select * from ".$table_name); if($rs == false){echo("false<br>");}else{while($row = sqlsrv_fetch_array($rs)){print_r($row);}sqlsrv_free_stmt($rs);sqlsrv_close($conn);}?>

8,至此,網上教程複製完畢,但是該方法不支援XP系統!(我使用的是phpstudy,非常便捷的一體式多合一服務)

但是該方法中開啟了mssql.php,於是使用以下代碼可以在XP中串連sql2008

<?php$server ="LPP-20140312390\s2008";  //伺服器IP地址,如果是本地,可以寫成localhost,本例是多個執行個體$uid ="sa";  //使用者名稱$pwd ="sql2008"; //密碼$database ="test";  //資料庫名稱 //進行資料庫連接$conn =mssql_connect($server,$uid,$pwd) or die ("connect failed");mssql_select_db($database,$conn);//執行查詢語句$query ="select * from demo";$row =mssql_query($query); //列印輸出查詢結果while($list=mssql_fetch_array($row)){       print_r($list);       echo "<br>";}//PDO串連不成功,沒有微軟的庫,2012庫不在支援XP//    $conn = new PDO( "sqlsrv:Server=(LPP-20140312390\s2008);Database=test", "sa", "sql2008"); //    $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );// $query = ‘select * from demo‘; // $stmt = $conn->query( $query ); // while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ){ //    print_r( $row ); // }

9,xp系統中串連SqlServer2008

9.1同樣下載http://www.microsoft.com/en-us/download/details.aspx?id=20098

找到sqlsrv20,這裡面是支援xp的DLL,支援範圍包括5.3,5.2,不支援5.4,其中nt是安全執行緒,v6v9意思是apache是哪種語言編寫的,是c++9還是c++6,這個安裝的時候提示錯誤 就更改一個

下載Microsoft SQL Server 2008 Native Client.msi,這個是必須的

9.2重啟伺服器

測試代碼

<?php//PDO串連方式 // $conn = new PDO( "sqlsrv:Server=LPP-20140312390\S2008;Database=CDTXYYBJP", "sa", "sql2008"); try {   $conn = new PDO( "sqlsrv:Server=LPP-20140312390\S2008;Database=CDTXYYBJP", NULL, NULL);    $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );}catch( PDOException $e ) {   die( "Error connecting to SQL Server" ); }echo "Connected to SQL Server\n";$query = ‘Select * From sysobjects ‘; $stmt = $conn->query( $query ); while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ){    p( $row ); }// /* Specify the server and connection string attributes. */// $serverName = "LPP-20140312390\s2008";// $connectionInfo = array( "Database"=>"CDTXYYBJP");// /* Connect using Windows Authentication. */// $conn = sqlsrv_connect( $serverName, $connectionInfo);// if( $conn === false )// {//      echo "Unable to connect.</br>";//      die( print_r( sqlsrv_errors(), true));// }//  Query SQL Server for the login of the user accessing the// database. // $tsql = "SELECT CONVERT(varchar(32), SUSER_SNAME())";// $stmt = sqlsrv_query( $conn, $tsql);// if( $stmt === false )// {//      echo "Error in executing query.</br>";//      die( print_r( sqlsrv_errors(), true));// }// /* Retrieve and display the results of the query. */// $row = sqlsrv_fetch_array($stmt);// echo "User login: ".$row[0]."</br>";// /* Free statement and connection resources. */// sqlsrv_free_stmt( $stmt);// sqlsrv_close( $conn);

 

php 串連 mssql sql2008

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.