function show_post($user_id)
{
global $database;
$post = array();
$sql = sprintf("SELECT body,stamp FROM post WHERE user_id = '%s' ORDER BY stamp DESC ",$user_id);
$result = $database->query($sql);
while($data = $database -> fetch_array($result))
{
$post[] = array(
'user_id' => $user_id,
'body' => $data->'body',
'stamp' => $data->'stamp'
);
}
return $post;
}
$posts = $link->show_post($_SESSION['user_id']);
if(count($posts))
{
?>
<table border='1' cellspacing='0' cellpadding='5' width='500'>
<?php
foreach($posts as $key => $list)
{
echo "<tr valign='top'>\n";
echo "<td>".$list['user_id'] ."</td>\n";
echo "<td>".$list['body'] ."<br/>\n";
echo "<small>".$list['stamp'] ."</small></td>\n";
echo "</tr>\n";
}
?>
</table>
<?php
}else
{
echo "nothing entered";
}
這將返回:資源ID#8如何解決MYSQL/PHP中的「資源ID#8」錯誤消息?
你能幫助我找到了問題?
這不是一個錯誤消息。你在某處打印出連接句柄'$ database'。這看起來並不像這裏發生的代碼。 – mario
錯誤不在所提供的代碼塊中......它位於其他地方,可能您試圖回顯數據集/ DB句柄,如 – Rahul
如果您在執行fetch_array,那麼$ data - >'body'不是正確的訪問的方式;它應該是$ data ['body']。此外,您的sprintf似乎沒有被轉義,並且可以接受SQL注入(即使user_id現在來自會話,但仍然是一種非常好的做法,無論如何總是轉義每個參數)。 – Zimzat