DB SELECT funktioniert nicht

Hmpf, Number of rows: 0.

Also irgendwie verzweifel ich langsam, ich finde den Fehler einfach nicht,trotz deiner ganzen Tipps.
 
Ganz ruhig, wir finden das schon :-)

Wo kommt dieses Array $album her?

PHP:
$statement->bind_param('i', $album["aID"]);

Könnte es sein, das dort die ID aus dem $_GET-Link kommen soll? Dann wäre es ja so richtiger:

PHP:
$statement->bind_param('i', $id);
 
Aaaaah super,danke,das war wohl der Fehler,jetzt wird endlich was ausgegeben *juhu*

Jetzt stellt sich mir nur folgendes Problem: Ich muss den Inhalt ja bisschen strukturieren, bei der Ausgabe, das hab ich jetzt folgendermaßen gemacht:

PHP:
<?php
include ('kopfcd.php');
?>
<?php
error_reporting( E_ALL | E_STRICT );
ini_set( 'display_errors', 1);
$mysqli= new mysqli("localhost","jb110","yod6ahlaeY","u-jb110");

if($_GET['id']) {  
$id = (int) $_GET['id'];  
$stmt=$mysqli->prepare("SELECT ean,album.titel AS titel1,jahr,cover,name,genre,label,nummer, 
track.titel AS titel2,laenge 
 FROM album 
 INNER JOIN kuenstler ON album.kID = kuenstler.kID 
 INNER JOIN genre ON album.gID = genre.gID 
 INNER JOIN label ON album.lID = label.lID  
 INNER JOIN track ON album.aID = track.aID
 WHERE album.aID=?");

$stmt->bind_param("i", $id);
$stmt->bind_result($ean, $titel1, $jahr, $cover, $name, $genre, $label, $nummer, $titel2, $laenge); 
$stmt->execute();

echo "<ul>\n";
$stmt->fetch(); 
   echo   "<h1>{$titel1}</h1>"
          ."<li><strong>ean: </strong>"
	      .htmlspecialchars($ean)
		  ."</li>\n\t<li><strong>Erscheinungsjahr: </strong>"
		  .htmlspecialchars($jahr)
		  ."</li>\n\t<li><strong>Interpret: </strong>"
		  .htmlspecialchars($name)
		  ."</li>\n\t<li><strong>Genre: </strong>"
		  .htmlspecialchars($genre)
		  ."</li>\n\t<li><strong>Label: </strong>"
		  .htmlspecialchars($label)
		  ."</li>\n\t";
		 
	 echo "</ul>";
	 echo "<img src='{$cover}' style='margin-top:20px; margin-bottom:20px;'>";
	 echo "<table style='margin-top: 40px; border-color:#00bfff; background-color: white; border-spacing:0px;' border='2' cellpadding='7'>\n"
	     ."<th style='background-color: #666666'>\n"
		 ."Tracknummer"
		 ."</th>\n<th style='background-color: #666666'>"
		 ."Tracktitel"
		 ."</th>\n<th style='background-color: #666666'>"
		 ."Länge"
		 ."</th>";
		 
while ($stmt->fetch()) {
      echo 
	      "<tr>\n\t<td>"
	      .htmlspecialchars($nummer)
		  ."</td>\n\t<td>"
		  .htmlspecialchars($titel2)
		  ."</td>\n\t<td>"
		  .htmlspecialchars($laenge)
		  ."</td>\n\t</tr>";
		 }
	 echo "</table>";
	 $stmt->close();
	}
$mysqli->close();
?>

Jetzt werden die Tracks aber nur beginnend von Nummer 2 an ausgegeben. Kann das daran liegen,dass ich oben schonmal $stmt->fetch(); benutzt habe?
 
Genau, bei jedem Fetch wird der Zeiger auf den nächsten Datensatz in der Ergebnismenge um einen weiter geschoben oder false zurückgegeben, wenn keine Datensätze mehr in der Ergebnismenge vorhanden sind, sprich am Ende der Ergebnismenge. Du solltest alles über die while-Schleife machen.
 
Ja das wollte ich anfangs,das Problem ist nur,dass ich dann auch 10 Mal das Album dastehen habe,wobei ich die Informationen nur einmal haben möchte. Anders ist das nicht zu lösen?
 
Das Album steht vermutlich deswegen dann 10 Mal da, weil 10 Titel auf dem Album sind. Wenn du das von einander getrennt anzeigen willst, musst du entweder

- die Alben- und Titel-Informationen merken und dann getrennt ausgeben oder
- die Informationen getrennt (in 2 Queries) auslesen.
 
Zurück