2012-12-24 48 views
-9

在我阿賈克斯聊天腳本我有這樣的警告:7阿賈克斯聊天 - 登錄問題

Warning: mysql_fetch_array() expects parameter 1 to be resource, 
boolean given in /home/mychat/public_html/c/listChats.php on line 7 

線:

while($row = mysql_fetch_array($sql)){ 

listChats.php:

<?php 
$chats = ""; 

include_once("scripts/connect_db.php"); 

$sql = mysql_query("SELECT * FROM (
    SELECT * FROM chatBox order by id DESC LIMIT 20 
) TMP ORDER BY tmp.id ASC"); 

while($row = mysql_fetch_array($sql)){ 
    $chat = $row['chatBody']; 
    $username = $row['username']; 
    $chats = '<p><span id="un">' . $username . ':</span> ' . $chat . '</p>'; 
    echo "$chats"; 
} 
?> 
+3

請[閱讀這一重要職務(http://meta.stackexchange.com/a/5235/135887),這些問題可能會影響您獲得良好答案的能力。 – Charles

+0

@Charles我的問題是關鍵的。 –

+0

-4代表實驗人 –

回答

1

你查詢語法錯誤

試試這個

$sql = mysql_query("SELECT *,(

    SELECT * FROM chatBox order by id DESC LIMIT 20 

) as data FROM TMP ORDER BY tmp.id ASC"); 

更新查詢

select *,(select username from chatBox where id=".$_SESSION['userid'].") from chatBody where user_id=".$_SESSION['userid'] 
+0

同樣的問題,感謝您的幫助 –

+0

我認爲首先你已經檢查你的db連接是否正確建立 – Hkachhia

+0

我用這個代碼'$ result = mysql_query($ query)或者die(「查詢錯誤:$ query。「.mysql_error());'並得到這個警告:'Warning:mysql_query()[function.mysql-query]:拒絕用戶'amljrx10'@'localhost'的訪問(使用password:NO )在/ home/amljrx10/public_html/c/listChats。php on line 3 警告:mysql_query()[function.mysql-query]:無法在第3行的/home/amljrx10/public_html/c/listChats.php中建立到服務器的鏈接 查詢錯誤:。訪問被拒絕用戶'amljrx10'@'localhost'(使用密碼:否)' –

0

我認爲你正在使用錯誤的表名。

試試這個

$sql = mysql_query("SELECT *,(

    SELECT * FROM chatBox order by id DESC LIMIT 20 

) as data FROM TMP ORDER BY TMP.id ASC"); 

如果你的表是TMP然後用TMP.id如果是tmp然後用tmp.id