Seite wird nicht weiter aufgebaut vom Browser wenn VOLLTEXT Suchwort nicht vorkommt.

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Seite wird nicht weiter aufgebaut vom Browser wenn VOLLTEXT Suchwort nicht vorkommt.

    Hallo, ich habe eine simple Volltextsuche gebaut mit PHP und mysql.

    PHP-Code:

    $abf 
    mysql_db_query("db68640""SELECT * FROM `$tabelle_2` WHERE MATCH `name` AGAINST ('$wort') ORDER BY `name`") OR die(mysql_error());
    $ega mysql_num_rows($abf) OR die(mysql_error());

    while(
    $row mysql_fetch_assoc($abf)) {
    echo 
    $row['name']

    Die Abfrage ist mitten in einer HTML Seite platziert, jetzt habe ich aber das Problem, das die komplette HTML Seite nicht mehr weiter aufgebaut wird, wenn das übergebene Suchwort aus der Variabel $wort in der zu durchsuchenden Tabelle nicht vorkommt.

    Woran kann das liegen und wie könnte man das vermeiden?

  • #2
    Hallo, RÜCKZUG, ich konnte mir zum Glück selbst helfen.

    Wenn ich komischerweise in der Zeile
    PHP-Code:
     $ega mysql_num_rows($abf) OR die(mysql_error()); 
    das
    PHP-Code:
     OR die(mysql_error()) 
    rausnehme klappt es auf einmal.

    Leider kann ich nicht beurteilen woran das wohl liegt, vielleicht jemand anderes von euch, aber zumindest bin ich doch froh das es geklapt hat.

    Kommentar


    • #3
      Das liegt daran, daß OR bei einer Zuweisung (Die Du mit "$ega =" vornimmst) anders wirkt als bei einem Funktionsaufruf und die() deshalb immer aufgerufen wird.

      Kommentar


      • #4
        Re: Seite wird nicht weiter aufgebaut vom Browser wenn VOLLTEXT Suchwort nicht vorkommt.

        @lamoe: Lies bitte die Regeln, und halte dich bei künftigen Postings daran!

        PHP-Code:
        $abf mysql_db_query(...) OR die(mysql_error()); 
        mysql_query liefert nur dann false, wenn es einen Fehler gab - also kommt dann der OR-Teil, die(mysql_error()) gibt (vermutlich) Fehler aus.
        PHP-Code:
        $ega mysql_num_rows($abf) OR die(mysql_error()); 
        Wenn deine Fulltext-Query kein Ergebnis lieferte, liefert mysql_num_rows was? Genau, 0. und 0 ist bei einem nicht-typsicheren Vergleich gleich was? Genau, false. Also kommt hier wieder das OR die() zum Zuge - nur ohne Ausgabe, weil mysql_error() ja gar keinen Fehler liefert, denn die Query war ja korrekt.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Ach so ist das gut, jetzt weis ich das auch danke sehr.

          Kommentar

          Lädt...
          X