簡體   English   中英

PHP的MySQL代碼不會回聲

[英]php mysql code won't echo

我得到以下代碼:

    if(isset($_SESSION['user_id'])) { $query = "SELECT * FROM watchlist,movies WHERE watchlist.page=movies.id AND userid=". $_SESSION['user_id']; 
    $result = mysql_query($query) or die('Query failed: ' . mysql_error());

    while( $row = mysql_fetch_assoc($result) )
      {
        echo '<div id="watchlist">';
            echo '<a href="watch.php?id='.$row['page'].'"><img src="http://nocmmnt.com/posters/'.$row['imdb_id'].'.jpg" height="217" width="154"></a><br>';
            echo '<span style="float:right;"><a href="delete.php?wid='.$row['wid'].'"><img src="image/close_delete.png" width="20"></a></span><a href="watch.php?id='.$row['page'].'">'.$row['title'].'</a><br>';  
            echo "</div>";
      }
    elseif(empty($row)) {
        echo "You dont have any movies in your watchlist!";
    }

我的問題是當它為空時沒有回聲怎么解決?

elseif(empty($row)) {

那是錯誤的條件結構, elseif必須在if塊或另一個elseif

該代碼如何無法為您生成解析錯誤?

Parse error: syntax error, unexpected T_ELSEIF on line 13

另外,就像其他人提到的那樣,只需檢查行數是否為0

if(mysql_num_rows($result)==0)

您需要使用

mysql_num_rows($result)

檢查是否有0行或更多行。

檢查empty($row)並不會執行您認為的操作。 您要檢查的是mysql_num_rows($result) == 0

阿里納斯- mysql是有利於棄用mysqli

嘗試:

   if(mysql_num_rows($result) == 0)
  { echo "You dont have any movies in your watchlist!"; }
  else{
  while( $row = mysql_fetch_assoc($result) )
  {
    echo '<div id="watchlist">';
        echo '<a href="watch.php?id='.$row['page'].'"><img src="http://nocmmnt.com/posters/'.$row['imdb_id'].'.jpg" height="217" width="154"></a><br>';
        echo '<span style="float:right;"><a href="delete.php?wid='.$row['wid'].'"><img src="image/close_delete.png" width="20"></a></span><a href="watch.php?id='.$row['page'].'">'.$row['title'].'</a><br>';  
        echo "</div>";
  }

  }

您可以按如下方式修改代碼,也可以嘗試使用mysqli代替mysqli

<?php
if(isset($_SESSION['user_id'])) { $query = "SELECT * FROM watchlist,movies WHERE watchlist.page=movies.id AND userid=". $_SESSION['user_id']; 
    $result = mysql_query($query) or die('Query failed: ' . mysql_error());

    $count = mysql_num_rows($result);

    if($count > 0 )
    {
        while( $row = mysql_fetch_assoc($result) )
        {   
            echo '<div id="watchlist">';
            echo '<a href="watch.php?id='.$row['page'].'"><img src="http://nocmmnt.com/posters/'.$row['imdb_id'].'.jpg" height="217" width="154"></a><br>';
            echo '<span style="float:right;"><a href="delete.php?wid='.$row['wid'].'"><img src="image/close_delete.png" width="20"></a></span><a href="watch.php?id='.$row['page'].'">'.$row['title'].'</a><br>';  
            echo "</div>";
        }
    }
    else {
        echo "You dont have any movies in your watchlist!";
    }
}
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM