2012-11-23 83 views
0

我嘗試使用php回顯我的數據庫(託管在ipage.com上),並且出現此錯誤:內部服務器錯誤 服務器遇到內部錯誤或配置錯誤,無法完成請求。 請聯繫服務器管理員[email protected],並告知他們錯誤發生的時間以及您可能已經造成錯誤的任何事情。無法從數據庫中回顯表

有關此錯誤的更多信息可能在服務器錯誤日誌中可用。

出了什麼問題? $mysqli = new mysqli("site.ipagemysql.com", "user", "pass", "database"); 獨自工作,所以它不是連接權的錯誤?或者我必須聯繫主機?

我的代碼

<?php 

    $mysqli = new mysqli("site.ipagemysql.com", "user", "pass", "database"); 

    /* check connection */ 
    if (mysqli_connect_errno()) { 
     printf("Connect failed: %s\n", mysqli_connect_error()); 
     exit(); 
    } 
    printf("Host information: %s\n", $mysqli->host_info); 

    $result = mysqli_query($link, "SELECT DATABASE()")) 
    $row = mysqli_fetch_row($result); 
    printf("Default database is %s.\n", $row[0]); 
    mysqli_free_result($result); 
    ?> 

回答

1

你有一)第12行太多,它缺少一個分號,你沒有改變$link變量與$mysqli變量對應在第3行

$result = mysqli_query($mysqli, "SELECT DATABASE()"); 

另外,您將面向對象的風格與過程風格混合在一起。我建議你只使用OO風格。所以代碼將是:

<?php 
    $mysqli = new mysqli("site.ipagemysql.com", "user", "pass", "database"); 

    /* check connection */ 
    if (mysqli_connect_errno()) { 
     printf("Connect failed: %s\n", mysqli_connect_error()); 
     exit(); 
    } 
    printf("Host information: %s\n", $mysqli->host_info); 

    $result = mysqli->query("SELECT DATABASE()")) 
    $row = $result->fetch_row(); 
    printf("Default database is %s.\n", $row[0]); 
    $result->close(); 
    $mysqli->close(); 
?> 
+0

謝謝!你認爲我應該在codereview或serverfault上發佈這個問題嗎?或者這裏很好? –

+0

不客氣!我沒有使用codereview,但我會說這可能屬於StackOverflow,或者在這裏,因爲它不是那麼高級的代碼。我會把它留給主持人。 – onik