Sven Rautenberg: $mysqli->prepare SELECT *

Beitrag lesen

Moin!

Hallöchen,

ich wollte Daten aus meiner Datenbank lesen

$abfrage = $mysqli->prepare("SELECT * FROM team
                     WHERE team_code = ?");
$abfrage->bind_param("i", $code);
$abfrage->execute();
$abfrage->bind_result($name, $bild);
$abfrage->fetch();
$abfrage->close();


>   
> Nun erhalte ich diesen Fehler  
>   
> Warning: mysqli\_stmt::bind\_result(): Number of bind variables doesn't match number of fields in prepared statemen  
>   
> Wenn ich in meinem SELECT den \* weg nehme und name, bild eintrage, geht es. Ich brauch aber ALLE Felder (ca. 30 Stück) deshalb wollte ich mit \* arbeiten. Geht das bei prepare nicht mehr?  
  
Wenn du alle Felder brauchst und an das Ergebnis mit bind\_result ran willst, musst du dort auch alle Felder angeben, nicht nur zwei. Ansonsten gibts ein angemeckertes Mißverhältnis von nur zwei gebundenen Variablen, aber 30 Feldern aufgrund des \* beim SELECT.  
  
  
 - Sven Rautenberg