好的,我有这个代码:
if (isset($_GET['book'])) {
$query= "SELECT book_id, title, authors.`author` , publishers.`publisher` , formats.`format` , genres.`genre` , usersdb.users.username, pages, isbn, description, DATE_FORMAT( books.`release_date` , '%M, %d, %Y' ) AS `release_date`
FROM books
INNER JOIN `authors` ON ( `authors`.`author_id` = `books`.`author_id` )
INNER JOIN `publishers` ON ( `publishers`.`publisher_id` = `books`.`publisher_id` )
INNER JOIN `formats` ON ( `formats`.`format_id` = `books`.`format_id` )
INNER JOIN `genres` ON ( `genres`.`genre_id` = `books`.`genre_id` )
INNER JOIN usersdb.users ON ( usersdb.users.user_id = bookdb.books.user_id )
WHERE books.book_id= ".$_GET['book']."";
$query=@mysql_query ($query, $dbc1);
if ($query) {
var_dump ($query);
while($row=mysql_fetch_assoc($query)){
echo '<h1>'.$row['title'].'</h1>
<p>'.$row['author'].'</p>
<p>'.$row['publisher'].'</p>
<p>'.$row['format'].'</p>
<p>'.$row['genre'].'</p>
<p>'.$row['pages'].'</p>
<p>'.$row['isbn'].'</p>
<p>'.$row['release_date'].'</p>
<p>'.$row['description'].'</p>
<p>'.$row['username'].'</p>';
}
}
}
对于某些条目,它可以正常工作,并且所有信息都正确显示并且很好,但是对于新条目,由于某种原因信息根本不显示。
mysql查询正确运行,你可以看到我已经完成了一个var_dump()并返回resource(11, mysql result)
所以资源肯定存在,它似乎没有通过while语句运行。< / p>
如果你能看出为什么会发生这种情况会非常感激。
答案 0 :(得分:0)
如果你只删除“@”,你会发现可能有错误。在PHP的全球范围内,使用“@”是一个错误。你可能永远不会使用它。
答案 1 :(得分:-1)
如果正在提取任何记录,请尝试echo mysql_num_rows($query)
。
如果它返回一些值, 尝试删除@,可能是错误的原因