2012-10-26 37 views
1

我遇到了一些問題。這是隻返回一個空白頁(我試圖在PHP錯誤報告等)的查詢:內連接和在相同的查詢返回空白錯誤mysql

$query = mysql_query(" SELECT player.id, player.level, character.name, 
           character.owner, character.owner 
         FROM player 
         INNER JOIN character ON player.id = character.owner 
         WHERE character.world = '$world' "); 

$res= mysql_fetch_array($query) or die(mysql_error); 
+0

您是否嘗試過在MySQL Workbench中運行SQL命令?它在那裏工作嗎? –

+0

你應該使用mysqli來處理數據庫的東西,這會更快,而且這樣的東西 – DijkeMark

+0

Mark我會嘗試使用MySQL Workbench,不用擔心! – Kraziee

回答

3

mysql_error後失蹤括號並調用mysql_query後,你應該把它叫做:

$sql = "SELECT ..."; 
$result = mysql_query($sql) or die(mysql_error()); 

如果查詢失敗,則應顯示錯誤消息。

有關如何正確使用mysql_query的詳細信息,請參閱手冊。

+0

它仍然只是返回一個空白頁面,並沒有錯誤消息,但如果我改變了一些我知道查詢將失敗它顯示它.. – Kraziee

+0

很少的輸入,它顯示在工作臺成功,但我沒有得到任何輸出。在未來「解釋」它說「2行(s)返回」。但在「執行聲明」我沒有得到任何。我嘗試了一個簡單的查詢,它確實輸出了我執行的查詢中的信息。 – Kraziee

+0

@Kraziee:我認爲你應該先嚐試讓WorkBench中的查詢工作。我猜你沒有行的原因是因爲你的查詢是錯誤的。我建議仔細檢查WHERE條件和JOIN條件是否正確。你應該用一粒鹽讀取EXPLAIN的輸出。您從EXPLAIN獲得的行數僅爲基於表統計的估計值。它們不是實際的價值。 –

0
$query = mysql_query(" SELECT player.id, player.level, character.name, 
          character.owner, character.owner 
        FROM player 
        INNER JOIN character ON player.id = character.owner 
        WHERE character.world = '$world' ") or die(mysql_error()); 

$res= mysql_fetch_array($query); 

這會顯示你的錯誤,因爲你錯過了什麼。