需要用JOOMLA串連另一台伺服器的MSSQL。PHP環境為windows下apps教程erv(apache2.2.4,php教程5.2.3)
將php.ini中下面一行前的";"號去掉。
;extension=php_mssql.dll
搜尋NTWDBLIB.DLL檔案,一般在C:windowssystem32與 PHP安裝資料夾下。右鍵屬性,查看版本,如果是2000.80.194.0之前的,需要更新。
重啟服務後發現本地的MSSQL沒問題,遠端無法串連。找了N多網站,答案基本是NTWDBLIB.DLL的問題。但始終無法成功串連。
今天索性在本地測試,環境為windows下的XAMPP1.7.0,發現Apachebin也存在NTWDBLIB.DLL檔案,而伺服器上appserv裡的apache沒有。將其替換即串連成功。
結論:appserv不支援MSSQL遠端連線,其apache較XAMPP簡易許多,從檔案數量即可看出。
PHP關於MSSQL的函數:
mssql_affected_rows:??? 取得最後 query 影響的列數。
mssql_close:??? 關閉與資料庫教程的串連。
mssql_connect:??? 連上資料庫。
mssql_data_seek:??? 移動列指標。
mssql_fetch_array:??? 返回數組資料。
mssql_fetch_field:??? 取得欄位資訊。
mssql_fetch_object:??? 返回類資料。
mssql_fetch_row:??? 返回單列的各欄位。
mssql_field_seek:??? 配置指標到傳回值的某欄位。
mssql_free_result:??? 釋放返回佔用記憶體。
mssql_num_fields:??? 取得返回欄位的數目。
mssql_num_rows:??? 取得返回列的數目。
mssql_pconnect:??? 開啟 MS SQL 伺服器持續串連。
mssql_query:??? 送出一個 query 字串。
mssql_result:??? 取得查詢 (query) 的結果。
mssql_select_db:??? 選擇一個資料庫。
GB2312轉UTF-8函數(反之亦可):
iconv("gb2312","utf-8",$text)