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