Pjotre: Abfrage Mysql 5 Datenbank

Hallo,

ich versuche mich gerade ein wenig an meiner Mysql5-Datenbank und benötige mal eine kleine Hilfestellung:

1.) über $link = mysqli_connect(...) stelle ich die Verbindung mit dem Server bzw. der Datenbank her

2.) anschließend möchte ich zwei Variablen aus meiner Tabelle Verwaltung ziehen, welches ich wie folgt umsetze:

$test= mysqli_query($link, "SELECT vorname, nachname FROM Verwaltung");

3.) Zum Schluss möchte ich mir die Daten ausgeben lassen:

while($row = mysqli_fetch_object($test)) { echo $row->vorname; echo $row->nachname; echo "<br />"; }

Wenn ich es so anwende erscheint bei mir im Browser folgende Fehlermeldung:

Warning: mysqli_fetch_object() expects parameter 1 to be mysqli_result, boolean given in ...

Kann mir jemand nen Tipp geben, was hier schief läuft?

Besten Dank

Pjotre

  1. Tach!

    Warning: mysqli_fetch_object() expects parameter 1 to be mysqli_result, boolean given in ...

    Kann mir jemand nen Tipp geben, was hier schief läuft?

    Nun, die Meldung besagt, dass du ein Boolean übergeben hast. Das muss also in deiner Variable drin sein. Kann man auch prüfen mit var_dump(), besonders welcher Wert das ist (true oder false). In dem Fall ist es ziemlich einfach zu erkennen, dass mysqli_query() den booleschen Wert geliefert hat. Das PHP-Handbuch klärt dazu auf, in welchem Fall das passiert.

    dedlfix.

    1. Nachdem ich nun diverse Stunden herumgegoogled habe und auch noch etwas am Quellcode experimentiert habe, werde ich das Gefühl nicht los, dass ich zwar mit dem Server kommunizieren kann, jedoch nicht mit der Datenbank selbst. Kann das sein? Die Prüfung der Verbindung mit dem Server ist positiv [... if($db_link)...]

      Sobald ich jedoch eine Abfrage der Datenbank starte, bekomme ich nicht mein gewünschtes Ergebnis:

      $abfrage= mysqli_query( $link, "SELECT * FROM Verwaltung" );
      if (!$abfrage)
      {
      die('Ungültige Abfrage: ' . mysqli_error($abfrage));
      }
      

      Warning: mysqli_error() expects parameter 1 to be mysqli, boolean given in

      Entsprechend ist also kein Wert in meiner $abfrage hinterlegt, womit offensichtlich keine Kommunikation mit der Datenbank möglich ist.

      Wodran kann dies liegen, bzw. wie kann ich prüfen, ob die Kommunikation auch mit der Datenbank möglich ist?

      Vielen Dank für Eure Geduld

      1. Tach!

        Die Prüfung der Verbindung mit dem Server ist positiv [... if($db_link)...]

        Sobald ich jedoch eine Abfrage der Datenbank starte, bekomme ich nicht mein gewünschtes Ergebnis:

        $abfrage= mysqli_query( $link, "SELECT * FROM Verwaltung" );
        if (!$abfrage)
        {
        die('Ungültige Abfrage: ' . mysqli_error($abfrage));
        }
        

        Warning: mysqli_error() expects parameter 1 to be mysqli, boolean given in

        Bitte das Handbuch genau lesen. mysqli_error() möchte als Parameter den Link haben, genauso wie mysqli_query(). Das was mysqli_query() zurückgibt, ist in keinem Fall als Parameter für mysqli_error() geeignet. Wenn du es also mit $link aufrufst, bekommst du auch die Fehlermeldung vom DBMS.

        dedlfix.

      2. Hallo Pjotre,

        Nachdem ich nun diverse Stunden herumgegoogled habe

        Alles, was Du über mysqli wissen musst, steht hier

        Rolf

        --
        sumpsi - posui - clusi
        1. Prima, vielen Dank für Eure Tipps. Das hat mir geholfen, jetzt klappt alles, wie ich es mir vorgestellt habe.

          Aber nochmal was anderes. Von "früher" kenne ich noch die Funktion "split()". Gibt es die heute nicht mehr so - was nimmt dann jetzt als Alternative?

          Besten Dank

          1. Tach!

            Aber nochmal was anderes. Von "früher" kenne ich noch die Funktion "split()". Gibt es die heute nicht mehr so - was nimmt dann jetzt als Alternative?

            Im PHP-Handbuch gibt es eine Seite zu split() mit Auflistung der Alternativen. Was konkret du brauchst, hängt von deinen Anforderungen ab.

            dedlfix.