flori-software
Neues Mitglied
Hallo zusammen!
Ich mache gerade meinen ersten Versuch meine Anwendung unter PHP 8 laufen zu lassen. Ich bekomme folgende Fehlermeldung, die ich nicht wirklich verstehe:
Warning: Trying to access array offset on value of type int in /Applications/MAMP/htdocs/meine_app/meine_seite.php on line 27
Die Fehlermeldung bezieht sich auf dieses Stück Code:
und zwar auf die Zeile
$kundecode[$key] = $row['kundecode'];
Da ich die Fehlermeldung nicht ganz verstehe, verstehe ich das Problem nicht.
Meine Vermutung war, dass es ein Problem mit dem Datentyp von $row['kundecode'] gibt. Wenn ich an diese Stelle einfach einen String einfüge, z.B.
$kundecode[$key] = "PeterParker";
ist der Fehler weg. Also habe ich versucht sicherzugehen, dass der Inhalt von $row['kundecode'] ein String ist:
$kundecode[$key] = strval($row['kundecode']);
... was aber nichts bringt, der Fehler tritt wieder auf. Und ja, ich habe schon das "offset on value of type int" gesehen, ich weiß nur nicht, worauf genau sich diese Fehlermeldung bezieht. Kann mir jemand helfen? Danke im Voraus!
Ich mache gerade meinen ersten Versuch meine Anwendung unter PHP 8 laufen zu lassen. Ich bekomme folgende Fehlermeldung, die ich nicht wirklich verstehe:
Warning: Trying to access array offset on value of type int in /Applications/MAMP/htdocs/meine_app/meine_seite.php on line 27
Die Fehlermeldung bezieht sich auf dieses Stück Code:
Code:
public function teilnehmerliste_lesen() {
$mysqli = MyDatabase();
$ang_kunde=array(1000); // Dieses Array soll die Infos über die Kunden spreichern, um die Kunden vor der Ausgabe alphabetisch zu sortieren
$abfrage="SELECT * FROM Teilnehmerliste WHERE `id-veranstaltung` LIKE ".$this->ID;
if ($result=$mysqli->query($abfrage)) {
while ($row = $result->fetch_object()) {
$this->angemeldete_teilnehmer++; // Diese Variable zählt die Anzahl der angemeldeten Kunden
$kunde = $this->angemeldete_teilnehmer; // Kurze Form für die aktuelle "Teilnehmernummer"
$ang_kunde[$kunde]['id_eintrag']=$row->ID;
$ang_kunde[$kunde]['id']=$row->id_kunde;
// Es wird geprueft ob der Kunde bei der Veranß
$abfrage=('SELECT * FROM Mediliste WHERE `kunden-id`='.$ang_kunde[$kunde]['id'].' AND `bedarfsmedikament` IS NULL');
if ($ergebnis=$mysqli->query($abfrage)) {
$ang_kunde[$kunde]['kriegtmedi_regel']=$ergebnis->num_rows;
}
// Hier wird eine Funktion aufgeraufen, welche den Namen zur entsprechenden Kunden-ID dazu holt
$ang_kunde[$kunde]['kundecode']=c3po::lesen(gesuchter_wert($ang_kunde[$kunde]['id'],"Kunden","kundecode"));
}
}
// Arrayelemente werden alphabetisch sortiert
foreach ($ang_kunde as $key=>$row) {
$kundecode[$key] = $row['kundecode'];
}
array_multisort($kundecode, SORT_ASC, $ang_kunde);
return $ang_kunde;
}
und zwar auf die Zeile
$kundecode[$key] = $row['kundecode'];
Da ich die Fehlermeldung nicht ganz verstehe, verstehe ich das Problem nicht.
Meine Vermutung war, dass es ein Problem mit dem Datentyp von $row['kundecode'] gibt. Wenn ich an diese Stelle einfach einen String einfüge, z.B.
$kundecode[$key] = "PeterParker";
ist der Fehler weg. Also habe ich versucht sicherzugehen, dass der Inhalt von $row['kundecode'] ein String ist:
$kundecode[$key] = strval($row['kundecode']);
... was aber nichts bringt, der Fehler tritt wieder auf. Und ja, ich habe schon das "offset on value of type int" gesehen, ich weiß nur nicht, worauf genau sich diese Fehlermeldung bezieht. Kann mir jemand helfen? Danke im Voraus!