2009-07-29 137 views
0

我剛開始編寫這段代碼,當我添加db時,選擇並刷新頁面,而不是顯示頁面上的所有其他html或錯誤,它只是顯示爲空白。php mysql_select_db返回空白頁面

這裏就是我的GOT

$link = mysql_connect('vps2.foo.com:3306', 'remote_vhost30', 'password'); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 

$db_selected = mysql_select_db('best_of', $link); 
if (!$db_selected) { 
    die ('Can\'t use foo : ' . mysql_error()); 
} 

$sections_result = "SELECT * FROM sections"; 
$sections_query = mysql_query($sections_result) or die(mysql_error()); 
$sections_array = mysql_fetch_array($sections_result) or die(mysql_error()); 

上面這段代碼返回一個空白頁。如果我註釋掉以$ db_selected開頭的行,頁面加載正常。顯然它不會對數據做任何事情,但沒有任何錯誤。

有什麼問題? (是的,我連接到遠程服務器,但是$鏈接產生任何錯誤)

回答

2

的最後一行代碼應該是:

$sections_array = mysql_fetch_array($sections_query) or die(mysql_error()); 

您正在嘗試從可變$sections_result讀取行,這是您的查詢字符串,而不是結果集。


打開錯誤報告,其中error_reporting(E_ALL)正如其他解答之一所述。

+0

爲什麼我總是覺得自己像一個完整的啞巴$$後,我讀了一個答案...哈哈..感謝趕上! – Marty 2009-07-29 20:28:34

+0

我們都犯這樣的事情。 – MitMaro 2009-07-29 20:30:02

2

順便提一句,我懷疑問題是PHP正在拋出一個錯誤,但是你已經禁止顯示錯誤 - 因此顯示了一個空白頁。在php.ini文件中檢查'display_errors'的狀態。

注意:如果這是生產服務器,則應將display_errors設置爲off。

1

檢查它確實是該行通過更換此:

$db_selected = mysql_select_db('best_of', $link); 

有了這個:

if (! $db_selected = mysql_select_db('best_of', $link)) die('Unable to select database'); 

由於MitMaro說你已經糊塗_result和_query。這可能會更好:

$sections_query = "SELECT * FROM sections"; 
$sections_result = mysql_query($sections_query) or die(mysql_error()); 
$sections_array = mysql_fetch_array($sections_result) or die(mysql_error()); 

希望幫助:)