tobias otto: mysql abfrage ergbniss

hallo,

ich frage meine datenbank folgendermaßen ab
 $res =  mysql_query ("SELECT * prinz_deluxe WHERE MATCH ( produkt, text1 ) AGAINST ('$sucheneu' IN BOOLEAN MODE)");

jetzt möchte nur die zahl der ergbisse ausgeben lassen. aber wie??

Danke

  1. Hi,

    jetzt möchte nur die zahl der ergbisse ausgeben lassen. aber wie??

    count($res) oder sizeof($res)

    Gruß
    Antipitch

    1. Moin!

      jetzt möchte nur die zahl der ergbisse ausgeben lassen. aber wie??

      count($res) oder sizeof($res)

      Absolut falsch. $res ist eine Ressourcen-ID, die auf den Speicherbereich mit dem Ergebnis des Querys zeigt. Dieser Speicherbereich ist mit Arrayfunktionen nicht zählbar.

      - Sven Rautenberg

      --
      "Love your nation - respect the others."
      1. Hi Sven,

        count($res) oder sizeof($res)

        Absolut falsch. $res ist eine Ressourcen-ID, die auf den Speicherbereich mit dem Ergebnis des Querys zeigt. Dieser Speicherbereich ist mit Arrayfunktionen nicht zählbar.

        danke für den Hinweis. $res sollte nicht für die obige Ressourcen ID stehen, sondern für irgendein aus der Abfrage erstelles Array. Aber schlecht formuliert, da hast du Recht und wenn er nur die Zahlen will, ist dedlfix's Lösung ja eh die richtige.

        Gruß
        Antipitch

  2. echo $begrüßung;

    $res =  mysql_query ("SELECT * prinz_deluxe WHERE MATCH ( produkt, text1 ) AGAINST ('$sucheneu' IN BOOLEAN MODE)");
    jetzt möchte nur die zahl der ergbisse ausgeben lassen. aber wie??

    Wenn du nur die Anzahl der Ergebnisse benötigst, dann frag die Datenbank danach: SELECT COUNT(*) ...

    PHP kann diese Angabe zwar mit mysql_num_rows() ermitteln, muss dazu aber die komplette Ergebnismenge vom Server abfragen. Das passiert bei einem mysql_query() automatisch im Hintergrund. mysql_num_rows() ist nur dann wirtschaftlich, wenn du nicht nur die Anzahl sondern auch die Datensätze benötigst.

    echo "$verabschiedung $name";