2014-05-01 209 views
4

我使用的PHP 5.2,通常mssql_connect工作正常 - 但我想連接到一個新的MS SQL服務器,它不會連接。我可能在連接細節或證書方面出了問題,但我無法辨別,因爲我無法收到錯誤消息。PHP - 我怎麼知道爲什麼mssql_connect()不起作用?

mssql_connect()方法返回false,並且沒有可用的連接。

mssql_get_last_message()什麼也沒有返回 - 那麼如何判斷我的連接失敗的原因?

任何人有任何想法?

在MySQL中,我會使用mysql_error - 但似乎沒有與ms_sql等效。

[編輯]

這個問題不是「MSSQL_CONNECT returns nothing - no error but no response either」重複 - 我使用PHP 5.2,代碼工作正常,其他連接的詳細信息。我需要弄清楚如何輸出連接錯誤 - 而不是連接問題。

[EDIT2]

澄清:

  • 的擴展服務器
  • 代碼工作正常,現有的連接細節上啓用
  • 我使用新的連接細節和不知道主機名或密碼是否有誤
  • 我知道代碼沒有連接,因爲我檢查是否我t的連接
  • 我想找出連接錯誤 - 就像你可以用MySQL一樣。

示例代碼如下:

$db_connection = mssql_connect($host, $user, $pass); 

    $db = mssql_select_db($dbname, $db_connection); 
    if (!$db_connection) { 
     echo "No connection"; 
     echo "connection failed because: " . ???????; 
     die; 
    } 

我到位的???????什麼來獲取連接錯誤消息?

+0

可能重複[MSSQL \ _CONNECT沒有返回 - 沒有錯誤,但沒有任何反應(http://stackoverflow.com/questions/7107172/mssql-connect-returns-nothing-no-錯誤 - 但是沒有迴應 - 或者) – unicorn80

+0

不 - 我在問如何獲得連接錯誤 - 沒有什麼錯誤的連接。該代碼適用於其他連接參數。此外,這是爲PHP 5.3 - 並與該版本兼容性問題 – Hippyjim

回答

-2

下面

<?php 
// Server in the this format: <computer>\<instance name> or 
// <server>,<port> when using a non default port number 
$server = 'KALLESPC\SQLEXPRESS'; 

// Connect to MSSQL 
$link = mssql_connect($server, 'sa', 'phpfi'); 

if (!$link) { 
die('Something went wrong while connecting to MSSQL'); 
} 
?> 

見這樣,如果連接失敗,則可以顯示錯誤。

編號:http://www.php.net/manual/en/function.mssql-connect.php

+0

謝謝 - 但只告訴我失敗的東西 - 我已經有了。我需要知道*什麼*失敗。嘗試連接返回的實際錯誤 - 否則我不知道我做錯了什麼。 – Hippyjim

+0

您是否在php.ini文件中啓用了mssql擴展? – vamsi

+0

是的。請閱讀我的問題。該代碼適用於其他連接 - 我只需要使用一些新的連接細節。我不知道連接的哪一部分是錯誤的,因爲它不告訴我主機名是否錯誤或用戶名是否錯誤 - 我需要連接錯誤。 – Hippyjim

相關問題