Problem mit fetch_all()

Guten Tag,

Ich hab ein Problem:
Ich würde gerne mehrere Reihen aus einer Datenbank mit der mysqli-Methode fetch_all() nehmen. So soll es aussehen:

    $select_messages = "SELECT * FROM messages WHERE targetid = '".$id."'";
    $fetch_messages  = $con->query($select_messages)->fetch_all();

Nur leider kriege ich immer diese Fehlermeldung:
Fatal error: Call to undefined method mysqli_result::fetch_all()

Ich habe bereits auf PHP.net nach der Funktion gesucht und dort stand, dass PDO erforderlich ist. Aber PDO wird doch von der PHP-Version von bplaced unterstützt, oder täusche ich mich da?

Muss ich das erst aktivieren oder so?

In habe bereits in einem anderen Forum gefragt und dort wurde mir gesagt, ich solle mysql_fetch_array benutzen, aber (leider?) hab ich mich vor zwei Wochen auf Objektorientierung eingestellt und alle Datenbankabfragen in OOP-Format geändert.

Ich suche einen Weg wie ich jetzt diese unterschiedlichen Reihen in eine Variable lade. Ob es einen Weg per Schleife oder per Funktion oder wie auch immer, ist erstmal egal, hauptsache es funktioniert.

Wäre nett, wenn Ihr mir helfen könntet, da ich nur ein Hobbyprogrammierer bin und das ziemlich frustrierend ist vor einem (für mich anscheinbar unüberwindbarem) Hindernis zu stehen.

vielen Dank schonmal im voraus (für’s Lesen ;-))

at.php.net/manual/de/mysqli-result.fetch-all.php

hm, woanders wurde mir gesagt, dass ich PDO bräuchte Oo

Vielen Dank, dass du mir dies offenbart hast, aber was nun? :wink:

Schleife und fetch_array()? :ps:

ok, hab es gelöst:

    $select_messages = "SELECT * FROM messages WHERE targetid = '".$id."'";
    $query_messages  = $con->query($select_messages);

    $messages = array();
    $rows = $query_messages->num_rows;

    for($i=1; $i <= $rows; $i++)
    {
       $messages[$i] = $query_messages->fetch_assoc();
    }

ich hätte nicht gedacht, dass das so geht, aber das tut es.
Woher weiß $query_messages bei welcher Reihe es ist? Oder ist da einfach ein interner Zeiger, der immer weiter springt?

Ist (eigentlich) geklärt und kann geschlossen werden.
Vielen Dank nochmal.

das ist wie bei mysql üblich immer die aktuelle Zeile :wink:

while($row = mysql_fetch_assoc($result))
  //tu etwas mit $row