2013-04-18 32 views
0

好吧,讓我的代碼到目前爲止工作得很好,這一切都經歷了,我唯一的問題是,當我嘗試打印無序列表和它的內容時,我什麼也得不到。當我查看我的源代碼時,我有<ul> </ul>。有一個空間,所以肯定會發生一些事情。SQL查詢成功,但沒有任何信息

這是我的代碼,我稍微評論,但發生的事情是顯而易見的:

$uname = mysqli_real_escape_string($link, $_SESSION['Username']); //Get username ready 
$sql = mysqli_query($link, "SELECT * FROM users WHERE Username = '" . $uname . "'"); //SQL Query result 

    if(!$sql) 
     { 
     echo "Error retrieving User ID. Please try again. MySQL Error: " . mysqli_error($link); 
     } 
    elseif($row = mysqli_fetch_assoc($sql)) 
     { 
      $uid = $row['UserID']; //Obtain UserID 
     } 
    else 
     { 
     echo "Error: " . mysqli_error($link) . "<br />" . $uname . "/" . $sql . "/" . $uid; 
     } 

    mysqli_free_result($sql); 

    $sql = mysqli_query($link, "SELECT * FROM auditions"); //Get everything from the auditions table 

    if(!$sql) 
     { 
     echo "Error retrieving auditions. Please try again later. Error: " . mysqli_error($link); 
     } 
    elseif($row = mysqli_fetch_assoc($sql)) 
     { 
     if(mysqli_num_rows($sql)==0) 
      { 
      echo "Sorry, there are currently no open auditions. Please try back at a later date."; 
      } 
     else 
      { 
      echo "<ul>"; 
      while($row = mysqli_fetch_assoc($sql)) 
       { 
       echo "<li><a href='auditions.php?id=" . $row['AudID'] . "'>" . $row['AudName'] . "</a></li>"; 
       } 
      echo "</ul>"; 
      } 
     } 
    else 
     { 
     echo "Error: " . mysqli_error($link); 
     } 

我要去哪裏錯了?它唯一不做的事情就是拿起任何結果,我已經把一些數據放到表格中,所以有條目!否則,它會說沒有任何。我扭轉了這一點,所以它顯示消息,如果沒有0條目,並且工作。我做錯了什麼人?

在此先感謝。

回答

0

您正在提取結果兩次。相反,只有在while循環獲取結果:

<?php 
$sql = mysqli_query($link, "SELECT * FROM auditions"); //Get everything from the auditions table 

    if(!$sql) 
     { 
      echo "Error retrieving auditions. Please try again later. Error: " . mysqli_error($link); 
     } 
     else{ 
      if(mysqli_num_rows($sql)==0) 
      { 
       echo "Sorry, there are currently no open auditions. Please try back at a later date."; 
      } 
      else 
      { 
       echo "<ul>"; 
       while($row = mysqli_fetch_assoc($sql)) 
       { 
        echo "<li><a href='auditions.php?id=" . $row['AudID'] . "'>" . $row['AudName'] . "</a></li>"; 
       } 
       echo "</ul>"; 
      } 
     } 

?> 

See this link for more information regarding mysql_fetch_assoc

+0

感謝埃文,我有一種感覺,這是愚蠢的東西。 – user2195574

+0

@ user2195574我無法保證我的答案可以解決您的問題,因爲可能還有更多。然而,這絕對是我用你的代碼看到的一個問題,所以請讓我知道它是否有效/幫助你。 –