php串連SQLServer2008

來源:互聯網
上載者:User

標籤:style   blog   http   io   ar   color   os   使用   sp   

原文:php串連SQLServer2008

   PHP內建的MSSQL擴充php_mssql.dll是給SQL Server 2000用的,串連不上2008?!-_-!!要使用SQL Server 2005以上版本,就要用到微軟為PHP提供的最新第三方擴充SQL Server Driverfor PHP才行,最新版本是2.0的,:

http://www.microsoft.com/downloads/details.aspx?familyid=DF4D9CC9-459C-4D75-A503-AE3FCEB85860&displaylang=en

 

 

下載驅動程式,下載後安裝釋放程式,裡面有以下檔案:

php_pdo_sqlsrv_52_nts.dll

php_pdo_sqlsrv_52_ts.dll

php_pdo_sqlsrv_53_nts_vc6.dll

php_pdo_sqlsrv_53_nts_vc9.dll

php_pdo_sqlsrv_53_ts_vc6.dll

php_pdo_sqlsrv_53_ts_vc9.dll

php_sqlsrv_52_nts.dll

php_sqlsrv_52_ts.dll

php_sqlsrv_53_nts_vc6.dll

php_sqlsrv_53_nts_vc9.dll

php_sqlsrv_53_ts_vc6.dll

php_sqlsrv_53_ts_vc9.dll

SQLServerDriverForPHP.chm(手冊,英文夠好的話,可以看看,嘿嘿)

SQLServerDriverForPHP_License.rtf

SQLServerDriverForPHP_Readme.htm(讀我檔案)

 

關於VC6和VC9的區別

     VC6 版本是使用 Visual Studio 6編譯器編譯的,如果你是在windows下使用Apache+PHP的,請選擇VC6版本。

    VC9 版本是使用 Visual Studio 2008編譯器編譯的,如果你是在windows下使用IIS+PHP的,請選擇VC9版本。

 

開始配置

選擇php_sqlsrv_53_ts.dll和php_pdo_sqlsrv_53_ts.dll。把檔案拷貝到PHP檔案夾下的ext目錄下,然後在設定檔php.ini
的Extensions後面加上:

extension=php_sqlsrv_53_ts.dll

extension=php_pdo_sqlsrv_53_ts.dll

再重啟Apache服務。

最後測試一下是否成功,在PHP中執行phpinfo()的查看sqlsrv、看圖畫紅線處、這樣就表示串連成功了!!


1.Windows Authentication串連

<?php

$serverName = "(localhost)";

$connectionInfo =array("Database"=>"test","ConnectionPooling"=>false);

$conn = sqlsrv_connect( $serverName,$connectionInfo);

if( $conn == false)

{

    echo"串連失敗!";

   die(print_r( sqlsrv_errors(), true));

}

?>

 

2.SQL Server Authentication串連 

<?php

$serverName = "localhost"; //資料庫伺服器地址

$uid = "sa"; //資料庫使用者名稱

$pwd = "123"; //資料庫密碼

$connectionInfo = array("UID"=>$uid,"PWD"=>$pwd, "Database"=>"cart");

$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn == false)

{

    echo "串連失敗!";

    die( print_r(sqlsrv_errors(), true));

}

//執行有結果集的SQL語句

$query = sqlsrv_query($conn, "select * from tb_goods");

while($row = sqlsrv_fetch_array($query))

{

    echo$row[0]."-----".$row[1]."<br/>";

}

//執行增刪改的SQL語句

 $rs=sqlsrv_query($conn,"update tb_goods setname=‘中國勁酒‘ where name=‘勁酒‘");

 $num=sqlsrv_rows_affected($rs);//返回修改的行數

 if($num>0)
 {
  echo‘修改成功!‘.$num ;

}
 else
 {
  echo ‘修改失敗!‘;
 }

?>

 

用於 SQL Server Driverfor PHP 的 API 名稱是 sqlsrv。所有sqlsrv函數都以 sqlsrv_打頭,

SQL Server Driver forPHP 包含以下函數:

函數           說明
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_field_metadata     返回欄位中繼資料。
sqlsrv_free_stmt     關閉語句。釋放與相應語句關聯的所有資源。
sqlsrv_get_config     返回指定配置設定的值。
sqlsrv_get_field     按索引檢索當前行中的欄位。可以指定 PHP 傳回型別。
sqlsrv_has_rows     檢測結果集是否具有一行或多行。
sqlsrv_next_result     使下一結果可供處理。
sqlsrv_num_rows     報告結果集中的行數。
sqlsrv_num_fields     檢索活動結果集中的欄位數。
sqlsrv_prepare     準備 Transact-SQL 查詢,但不執行該查詢。隱式綁定參數。
sqlsrv_query     準備 Transact-SQL 查詢,並將其執行。
sqlsrv_rollback     復原事務。
sqlsrv_rows_affected     返回有所修改的行的數目。
sqlsrv_send_stream_data     在每次調用函數時向伺服器發送最多八KB (8 KB) 的資料。
sqlsrv_server_info     提供有關伺服器的資訊。

 

搞定手工、咳咳

php串連SQLServer2008

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.