2016-04-10 23 views
-1

Her şey ikinci sorgu SELECT * FROM artist WHERE artID != ? kadar çalışır. Html öğeleri doğru görünüyor ancak $stmt = $conn->prepare("SELECT * FROM artist WHERE artID != ?");, bir nedenle yanlış gösteriyor ve bu nedenle if ifadesi çıkıyor, ancak hatalar yanmıyor.PHP mysql ikinci sorgu başarısız oldu ama hata mesajı olmadan

<div class="row"> 
    <?php 
    error_reporting(E_ALL); 
    ini_set('display_errors', 1); 
    include 'connection.php'; 

    if(isset($_GET["album"])) 
    { 
     /* If album was passed in the URL then get current values 
      for that album */ 
     $stmt = $conn->prepare("SELECT cd.artID, artName, cdTitle, cdPrice, cdGenre, cdTracks FROM cd INNER JOIN artist ON (cd.artID = artist.artID AND cdID = ?);"); 
     if(!$stmt) 
     { 
      echo $conn->error; 
      exit; 
     } 

     $albumID = htmlspecialchars($_GET["album"]); 

     $stmt->bind_param('i', $albumID); 
     $stmt->execute(); 

     $stmt->bind_result($albumArtID, $albumArtName, $albumTitle, 
      $albumPrice, $albumGenre, $numTracks); 

     $stmt->fetch(); 

     /* Create input fields */ 
     // Album Title 
     echo "<div class=\"row horizontal-center\">" . 
      "<input type=\"text\" value=\"" . htmlspecialchars($albumTitle) . "\" name=\"albumTitle\"/>" . 
      "</div>"; 

     // Artist Name 
     echo "<div class=\"row horizontal-center\">" . 
      "<h6>By Artist:</h6>" . 
      "</div>"; 

     echo "<div class=\"row horizontal-center\">" . 
      "<select name=\"artID\">"; 

     /* Create option for current artist so it will be first in list */ 
     echo "<option value=\"$albumArtID\">$albumArtName</option>\n"; 

     /* Generate list of artists except artist currently associated with the album */ 
     $stmt = $conn->prepare("SELECT * FROM artist WHERE artID != ?"); 
     if(!$stmt) 
     { 
      echo $conn->error; 
      exit; 
     } 

     $stmt->bind_param('i', $albumArtID); 
     $stmt->execute(); 

     $stmt->bind_result($artID, $artName); 

     /* Create options for artists that were found */ 
     while($stmt->fetch()) 
     { 
      echo "<option value=\"$artID\">$artName</option>\n"; 
     } 

     echo "</select>" . 
      "</div>"; 

     // Album Price 
     echo "<div class=\"row horizontal-center\">" . 
      "<input type=\"number\" step=\"0.01\" value=\"" . htmlspecialchars($albumPrice) . "\" name=\"albumPrice\"/>" . 
      "</div>"; 

     // Album Genre 
     echo "<div class=\"row horizontal-center\">" . 
      "<input type=\"text\" value=\"" . htmlspecialchars($albumGenre) . "\" name=\"albumGenre\"/>" . 
      "</div>"; 

     // Number of Tracks 
     echo "<div class=\"row horizontal-center\">" . 
      "<input type=\"number\" value=\"" . htmlspecialchars($numTracks) . "\" name=\"numTracks\"\n/>" . 
      "</div>"; 

     // Delete checkbox 
     echo "<div class=\"row\">" . 
      "<div class=\"col-2\">" . 
      "<h6>Delete:</h6>" . 
      "</div>" . 
      "<div class=\"col-1\">" . 
      "<input type=\"checkbox\" name=\"delete\" value=\"Delete\"/>" . 
      "</div>" . 
      "</div>"; 

     /* Create hidden field to submit the album ID with the form */ 
     echo "<input type=\"hidden\" value=\"" . htmlspecialchars($albumID) . "\" name=\"albumID\"\n/>"; 
    } 
    else 
    { 
     /* Send browser back to artists page if they somehow accessed 
      the edit page without going through the "Edit" link next 
      to an artist in the table. This would be the artName variable 
      would not be sent via the URL.*/ 
     header("Location: artists.php"); 
    } 
    ?> 
</div> 

<div class="row"> 
    <div class="col-2"> 
     <h6>Delete:</h6> 
    </div> 
    <div class="col-1"> 
     <input type="checkbox" name="delete" value="Delete"/> 
    </div> 
</div> 

<div class="row"> 
    <input type="submit" name="submit" value="Update"/> 
</div> 
+0

İlk sorgu http://php.net/manual/en/mysqli.close.php – Chay22

+0

hem 'albumID' ve' album' olan yakın kalkma Burada iki farklı hayvan var mı? Name = \ "albumTitle \" ve "$ _GET [" album "]' ı görüyorum. Ayrıca herhangi bir form etiketi göremiyorum, bu yüzden bana sadece bazı href'lerden GET dizilerine bel bağladığınızı söylüyor. –

+0

Aynı soruyu birkaç saat önce gönderdiniz. Kapatmak için oy verdim. –

cevap

0

Neden

if(!$stmt) 
    { 
    die("ERROR: " .mysqli_error($conn)); 
    exit; 
    } 
+0

Adam zaten hata denetimi kullanıyor. echo $ conn-> hatası; 've bu' çıkış; 'seninki gerçekten hiçbir şey yapmayacak. Zaten "öl" ü yaptın. –

İlgili konular