先前在Silverlight中開發了應用程序後,我們現在轉向使用HTML5。作爲邁向更開放源代碼方法的一部分,我正在考慮使用PHP鏈接到我們的MSSQL數據庫而不是.NET。有沒有理由不採取這種方法? (我們必須保持MSSQL和Windows)使用PHP訪問MS SQL
回答
根據PHP.Net有很多函數來處理MSSQL數據庫。
反正你應該首先加載驅動程序爲MICROSOFT說Official SQL Server Site
您可以在微軟下載SQL Server 2005的驅動程序PHP下載中心。下載中包含兩個.dll文件:php_sqlsrv.dll和php_sqlsrv_ts.dll。 加載PHP的SQL Server 2005驅動程序與加載任何PHP擴展相似!
- 將擴展文件(php_sqlsrv.dll或php_sqlsrv_ts.dll)放入 PHP擴展目錄中。
修改php.ini文件以包含擴展名。 根據您要加載的驅動程序版本爲 (非線程安全或線程安全),您需要將 以下行之一添加到您的php.ini文件的動態擴展部分:
延長= php_sqlsrv.dll
延長= php_sqlsrv_ts.dll
重新啓動Web服務器。
享受API
後萬物,你必須配置在SQL Server 2005 +驅動程序PHP有三個配置選項:
- LogSubsystems 使用此選項打開或關閉子系統的日誌記錄。 的默認設置是SQLSRV_LOG_SYSTEM_OFF(日誌由默認的 關閉)。
- LogSeverity 使用此選項可以指定日誌記錄被打開後要記錄的內容 。默認設置爲SQLSRV_LOG_SEVERITY_ERROR(僅在打開日誌記錄後,默認情況下會記錄 )。
- WarningsReturnAsErrors默認情況下,PHP的驅動程序 將sqlsrv函數生成的警告視爲錯誤。使用 WarningsReturnAsErrors選項可更改此行爲。此選項的默認設置爲 設置爲true。
注意此規則也有例外。例如,更改數據庫上下文所生成的警告永遠不會被視爲錯誤。
在和只有幾個最後的東西,你必須記住 * sqlsrv_connect *函數用於建立一個連接到服務器。
$serverName = "(local)";
$connectionOptions = array("Database"=>"myDatabase");
/* Connect using Windows Authentication. */
$conn = sqlsrv_connect($serverName, $connectionOptions);
if($conn === false)
{ die(FormatErrors(sqlsrv_errors())); }
默認情況下,sqlsrv_connect函數使用Windows身份驗證建立連接。在大多數情況下,這意味着Web服務器的進程標識或線程標識(如果Web服務器使用模擬)用於連接到服務器,而不是最終用戶的標識。
sqlsrv_connect函數接受兩個參數:$ serverName和$ connectionOptions(可選)。
$ SERVERNAME該所需參數用於指定的 到要連接的服務器的名稱。在上面的代碼中,建立了到本地服務器的連接 。此參數可以用 指定SQL Server實例或端口號。例如: 示例:
$ serverName =「myServer \ instanceName」;
- 或 -
$serverName = "myServer, 1521";
- $ connectionOptions此可選參數是設置在該連接上的選項鍵 - 值對的數組。有關
的更多信息,請參閱產品文檔中的sqlsrv_connect。
注 UID和PWD選項必須在$ connectionOptions參數設置爲登錄到SQL Server驗證的服務器。
注意該示例中顯示的FormatErrors函數是用於格式化錯誤輸出的自定義函數。
我已經在高可用性生產環境中使用php(在Windows Server 2003和2008上的IIS上運行)以及Microsoft SQL Server(2008和2008R2)近2年。
從PHP到SQL服務器的驅動程序在開始時有點不穩定,但只要獲得最新的驅動程序,它就非常強大。
在我的環境中,PHP和SQL Server組合的性能比.net實現要好。
- 1. 訪問MS SQL從PHP 5.5
- 2. MS訪問SQL在
- 3. 如何使用PHP訪問MS SQL Server數據Web
- 4. 在Linux上使用PHP 5.3+訪問MS SQL的首選方法
- 5. MS訪問SQL幫助
- 6. MS訪問SQL服務器
- 7. MS訪問SQL視圖
- 8. ms訪問如果在sql
- 9. MS-訪問:SQL在表
- 10. MS訪問SQL - 從5桌
- 11. MS訪問SQL Server搜索
- 12. MS-SQL訪問DISTINCT GROUP BY
- 13. 使用java訪問MS CryptoAPI
- 14. 使用ms-appdata訪問StorageFolder
- 15. 使用JAVA訪問MS Outlook
- 16. 哪裏是用於訪問MS SQL的PHP驅動程序?
- 17. MS - 訪問BigInt SQL SERVER問題
- 18. MS訪問SQL查詢問題
- 19. 無法訪問MS SQL存儲過程的結果與PHP
- 20. MS訪問SQL連接語法
- 21. VBA - MS訪問外部SQL服務器
- 22. MS SQL訪問日期和流派
- 23. 對SQL查詢的MS訪問
- 24. MS訪問SQL加入子查詢
- 25. 錯誤而從MS SQL出口訪問
- 26. MS訪問SQL查詢結果
- 27. MS訪問SQL數據流和性能
- 28. MS SQL訪問有兩個SUM函數
- 29. 從ms訪問導入sql server 2008
- 30. j2me +直接訪問MS SQL服務器
對於StackOverflow的問答格式,這不是一個合適的問題。請參閱http://stackoverflow.com/faq#dontask – Crontab