0

我对 php 很陌生,我有这段代码。我不知道数据是否是从数据库中获取的。

$sql = mysql_query("SELECT id,question,date,user,numberofcomments FROM questions");
if (!$sql) {
echo 'Could not run query: ' . mysql_error();
exit;
}

$result = mysql_fetch_row($sql);

echo '<table border="1"> 
                  <tr> 
                    <th>Title 1</th> 
                    <th>Title 2</th> 
                  </tr>';   

            while($row = mysql_fetch_assoc($result))  
            {                 
                echo '<tr>';  
                    echo '<td class="leftpart">';  
                        echo '<h3><a href="topic.php?id=' . $row[id] . '">' . $row['question'] . '</a><h3>';  
                    echo '</td>';  
                    echo '<td class="rightpart">';  
                        echo $row['date'];  
                    echo '</td>';  
                echo '</tr>';  
            }  

我收到这个错误。

警告:mysql_fetch_assoc() 期望参数 1 是资源,数组在

有人可以解释这个错误。我将 while($row...帮助文件让我感到困惑,所以我来到这里。

我做错了什么,我可以改变什么?

编辑:

我已连接到数据库(我已经提取了用户名和密码的信息)

4

1 回答 1

1

mysql_fetch_assoc()期望在由 . 返回的资源中传递mysql_query()。因此,您的电话应该是

while($row = mysql_fetch_assoc($sql))

相反,您传入的mysql_fetch_row()是一个数组或布尔值的返回值。

PS - 所有mysql_*功能都已弃用/正在弃用。你不应该使用它们。

于 2013-09-12T00:31:21.397 回答