2012-11-02 44 views
-5

我想创建一个基于谣言的网站。在该网站的一部分中,有一个工作特征,您可以在其中发布谣言并显示谣言。我的一些错误mysql_fetch_assoc

但是我正在主页上工作,以便将最新的两个传言放在一张表中。下面我的代码,有没有行的表,尽管数据在mysql表之中,而这个错误消息:

警告:mysql_fetch_assoc():提供的参数不是/网站的一个有效的MySQL结果资源/123reg/LinuxPackage22/th/eq/li/theqlick.com/public_html/leeds.php上线212

任何想法?我的代码如下:

$query = "SELECT * FROM rumour ORDER BY id DESC"; 
$row = mysql_fetch_assoc($query); 
$id = $row['id']; 
$name = $row['name']; 
$description = $row['description']; 

echo "<table class ='rumour' border='1'>"; 
echo "<tr>"; 
echo "<td style = 'font-size:18pt;font-family:Noteworthy-Bold;'> Hot Rumours </td>"; 
echo "<tr>"; 
echo "<td class = 'td1'>". text2link($row['description']). "</td>"; 
echo "</tr>"; 
echo "<tr>"; 
echo "<td class = 'td1'>". text2link($row['description']). "</td>"; 
echo "</tr>"; 
echo "</table>"; 
+0

您需要修改行的'$查询=请求mysql_query (“SELECT * FROM rum​​or ORDER BY id DESC”);' – asprin

+0

您的查询结果需要具有mysql_fetch_assoc - $ result = mysql_query($ sql);然后$ row = mysql_fetch_assoc($ result) – 2012-11-02 12:42:34

+2

此外,您还需要停止使用'mysql_ *'函数并使用'pdo'或'mysqli_ *' – Leri

回答

0

要发布的串入mysql_fetch_assoc,而不是请求mysql_query ...

$query = "SELECT * FROM rumour ORDER BY id DESC"; 

应该

$query = mysql_query("SELECT * FROM rumour ORDER BY id DESC"); 
0

manual for that function说:

array mysql_fetch_assoc (resource $result) 

您正在向它传递一个包含查询的字符串,而不是运行查询的结果。

您需要先通过mysql_query

...至少你会这样做,如果你继续使用mysql_*,你不应该这样做。它是obsolete,你应该使用modern replacement

0

使用直接使用mysql_fetch_assoc($ query)中的$ query作为字符串类型。 你忘了得到结果。用这个代替:

$query="Your query here"; 
$result=msqyl_query($query); 
$row = mysql_fetch_assoc($query); 
0

你已经忘了你的查询使用mysql_query功能

执行试试这个代码可能会帮助你

$query = "SELECT * FROM rumour ORDER BY id DESC"; 
$result=mysql_query($query); 
$row = mysql_fetch_assoc($result);