概念 - 组织数据库

时间:2013-09-12 00:28:17

标签: php mysql sql

我是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 ...并且没有错误,数据没有显示让我假设数据没有正确地从我的数据库中获取。我不确定这些函数究竟是如何工作的帮助文件令我困惑,所以我来到这里。

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

编辑:

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

1 个答案:

答案 0 :(得分:1)

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

while($row = mysql_fetch_assoc($sql))

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

PS - 不推荐使用/弃用所有mysql_*函数。你不应该使用它们。