-1

好的,所以我有这个代码:

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 语句运行。

如果您能明白为什么会发生这种情况,那将不胜感激。

4

2 回答 2

0

如果您只是删除“@”,您会看到可能有错误。在 PHP 中,使用“@”是一个错误。你可能永远不会使用它。

于 2012-06-14T09:32:12.953 回答
-1

尝试echo mysql_num_rows($query)是否正在获取任何记录。

如果它返回一些值,请尝试删除@,这可能是错误的原因

于 2012-06-14T09:35:03.560 回答