suchformular bockt ne runde

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • suchformular bockt ne runde

    Draußen vom Städle komm ich her und bringe ein neues Problemchen daher.

    Es ist mein Suchformular, das so ganz und gar gar nicht will. Hier der Code und im Anschluß der Fehler. Verstehen tu ichs nicht, weiß jemand was das heißen soll?

    PHP-Code:
    <html>
    <head>
    <title>GoG Suche</title>
    </head>
    <body>
    <?
    if($send=="ok"){
      include("inc/konfiguration.inc.php");
      $words = explode(" ",$suchworte);
      $sql = "SELECT * FROM table WHERE ";
      for($i = 0; $i < sizeof($words); $i++ )
      {
        $sql.= "keywords LIKE '%" . $words[$i] . "%' ";
        if ($i < sizeof($words) - 1)
        {
          $sql.= "AND ";
        }
      }
      $result= mysql_query($sql) or die(mysql_error());
      while($zeile=mysql_fetch_array($result,MYSQL_ASSOC))
      {
        echo'Hier: '.$zeile["url"].'.';
      }
    }else{
      echo'
        <form action="gog_search.php" method="post">
        <input type="hidden" name="send" value="ok">
        <input type="text" name="suchworte">
        <input type="submit" value="Suchen" name="search" id="search">
        </form>';
    }
    ?>
    </body>
    </html>
    Und hier der Fehler:

    You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'table WHERE keywords LIKE '%cat%' AND keywords LIKE '%fox%'' at

    für Hilfe wäre ich dankbar.

  • #2
    das heißt, dass du nen syntax error hast!

    diesen kannst du am leichtesten herausfinden, indem du den "fertigen" Query (also das was du an die DB sendest) mal komplett ausgibst.

    Kommentar


    • #3
      Also ich habe jetzt $sql ausgegeben, und da kam das hier bei raus:

      SELECT * FROM table WHERE keywords LIKE '%cat%' AND keywords LIKE '%fox%'

      wenn ich das echo vor die Zeile mit $result schreibe, füge ich es danach ein kommt wieder der Fehler, und was weiß ich jetzt? Das der Fehler in der Zeile mit dem $result sein muß????

      Kommentar


      • #4
        du solltest eine tabelle nicht table nennen. das wird ja von mysql benutzt.

        setz table in ' dann gehst. sauber isset aber net!

        Kommentar


        • #5
          Guten Morgen,
          das muß matürlich gog_suche heißen.

          Kommentar


          • #6
            Und natürlich muss die Tabelle "table" sowie die Spalte "keywords" auch vorhanden sein.

            Kommentar


            • #7
              tja, dass kommt davon wenn man nicht merkt, dass es pseudo-code ist

              Und natürlich muss die Tabelle "table" sowie die Spalte "keywords" auch vorhanden sein.
              das verursacht aber keinen Syntaxerror

              Kommentar


              • #8
                Stimmt... =)

                Kommentar


                • #9
                  @Imion
                  du solltest aber wissen, dass du kein *CROSSPOSTING* machen solltest...

                  http://www.php-resource.de/forum/sho...413#post196413

                  ich schliesse mal. die lösung ist ja im anderen thread.

                  *CLOSE*
                  INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                  Kommentar

                  Lädt...
                  X