我是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...而且没有错误,数据也没有显示,这让我认为数据没有正确地从我的数据库中取出。我不确定这些函数是如何工作的,帮助文件把我搞糊涂了,所以我来到这里。
我做错了什么,我能改变什么?
编辑:
我已经连接到数据库(我已经提取了用户名和密码的信息)
发布于 2013-09-12 08:31:21
mysql_fetch_assoc()期望在mysql_query()返回的资源中传递。因此,您的调用应该是
while($row = mysql_fetch_assoc($sql))相反,您传入的是mysql_fetch_row()的返回值,它是一个数组或布尔值。
PS -所有 mysql_* 函数都已弃用/正在弃用。你不应该使用它们。
https://stackoverflow.com/questions/18753444
复制相似问题