程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php連接sql2008(實戰篇)

php連接sql2008(實戰篇)

編輯:關於PHP編程

 

 

至於php連接mssql2008的方法可以參考我博客的其他文章會有介紹
操作的話
我們可以先閱讀下載的插件內的幫助文件,裡面寫的很詳細可惜是英文的
也可以在線獲取手冊,有中文的很方便地址是
http://technet.microsoft.com/zh-cn/library/hh352126(SQL.10).aspx
http://msdn.microsoft.com/zh-cn/library/hh352126(v=SQL.10).aspx


下面寫我的一個簡單的測試
基本的功能都有了

包括連接數據庫 執行SQL 獲取記錄數和內容 獲取字段數和內容


 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 

<head> 

<meta http-equiv="Content-Type" content="text/html; charset=big5" /> 

<title>php-sql2008</title> 

</head> 

 

<body> 

<?php 

$serverName = "(local)"; //資料庫伺服器位址 

$uid = "sa";             //資料庫用戶名 

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

$db_name="DB_FMDISP";    //資料庫名 

 

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

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

if( $conn == false) 

    echo "Connect error!"; 

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

//執行sql語句 

$stmt = sqlsrv_query($conn, "SELECT TOP 1000 [uid],[uname],[upwd],[udate],[enable] FROM [DB_FMDISP].[dbo].[tb_user]", array(), array( "Scrollable" => SQLSRV_CURSOR_KEYSET )); 

 

if($stmt === false ) 

     echo "Error in executing query.</br>"; 

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

 

//獲取記錄數 

$row_count = sqlsrv_num_rows($stmt); 

   if ($row_count === false){ 

      echo "\nget row error\n".'<br />'; 

      print_r(sqlsrv_errors(), true); 

   } 

   else if ($row_count >=0){ 

      echo '行數:'."\n$row_count\n".'<br />'; 

   } 

//獲取列數     

$field_count = sqlsrv_num_fields($stmt); 

   if ($field_count === false){ 

      echo "\nget row error\n".'<br />'; 

      print_r(sqlsrv_errors(), true); 

   } 

   else if ($field_count >=0){ 

      echo '列數:'."\n$field_count\n".'<br />'; 

   } 

//獲取某一列的記錄內容(按數字) 

/* Make the first row of the result set available for reading. */ 

if( sqlsrv_fetch( $stmt ) === false ) 

     echo "Error in retrieving row.\n"; 

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

$name = sqlsrv_get_field( $stmt, 0); 

echo '內容:'."$name:".'<br />'; 

 

<span style="white-space:pre">    </span>   

//show the data 

//把記錄賦給數組並顯示(按列的名稱) 

while($row = sqlsrv_fetch_array($stmt)){ 

    echo $row['uid']."-----".$row['uname']."-----".$row['upwd']."<br/>"; 

}  www.2cto.com

 

/* Free statement and connection resources. */ 

sqlsrv_free_stmt($stmt); 

sqlsrv_close($conn); 

?> 

<p></p> 

<h1>常用SQL語句</h1> 

$stmt = sqlsrv_query($conn, "INSERT INTO DB_FMDISP.dbo.tb_user(uname,upwd,udate,enable) VALUES('name','pwd','2010-10-10 10:10:00',1)"); 

$stmt = sqlsrv_query($conn, "SELECT * FROM DB_FMDISP.dbo.tb_user"); 

</body> 

</html>   

 

 

API 參考 (SQL Server Driver for PHP)



用於 SQL Server Driver for PHP 的 API 名稱是 sqlsrv。所有 sqlsrv函數都以 sqlsrv_打頭,後跟動詞或名詞。後跟動詞的函數用於執行特定操作,而後跟名詞的函數用於返回特定形式的元數據。

SQL Server Driver for PHP 包含以下函數:


 

函數 說明 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 在每次調用函數時向服務器發送最多八千字節 (8 KB) 的數據。 sqlsrv_server_info 提供有關服務器的信息。

摘自:專注的力量

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved