2012-12-24 42 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