Moin zusammen, Ich arbeite gerade an einer Kommentarfunktion für eine Website. Die Kommentare werden in einer andere Tabelle gespeichert wie die Artikel. Ich hab als eine Abfrage dafür geschrieben, welche die relevanten Informationen aus der kommentar tabelle holt aber nur wenn die ArtikelID mit der des Artikel übereinstimmt. Als ich die Abfrage im phpMyAdmin ausprobiert haben, hat alles funktioniert und ich haab die zwei Testdatensätze angezeigt bekommen. Wenn ich die Abfrage aber im PHP-Script habe klappt das nicht und ich bekomme eine leere Abfrage zurück. Hat jemand eine Idee woran das liegt?
Das ist die Abfrage und das Speicher in dem Array:
$query = sprintf(
"SELECT kommentare.ID, kommentare.Autor, kommentare.Inhalt, kommentare.Datum, kommentare.ArtikelID, artikel.id AS `Artikel ID`, artikel.titel AS `Artikel Titel`
FROM kommentare, artikel
WHERE kommentare.ArtikelID = artikel.id AND artikel.titel = '%s'",
$mysqli->real_escape_string('Test')
);
$abf = $mysqli->query($query);
$kommentare = array();
while($data = $abf->fetch_array(MYSQLI_ASSOC)){
$kommentare[] = array(
'ID' => $data['ID'],
'Autor' => $data['Autor'],
'Inhalt' => $data['Inhalt'],
'Datum' => $data['Datum']
);
}
Das ist dann das abrufen aus dem Array:
<?php if(count($data['kommentare']) >= 1):
foreach($data['kommentare'] as $kommentar): ?>
<div class="comment">
<?php echo $kommentar['Autor']; ?> schrieb um <?php echo $kommentar['Datum']; ?>:
<p>
<?php echo $kommentar['Inhalt']; ?>
</p>
</div>
<?php endforeach;
else: ?>
<p class="info">
Es sind keine Kommentare vorhanden
</p>
<?php endif; ?>
Gruß Matthias