Suche mit PHP

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

  • #31


    du kannst _nicht_ aus dem bauch programmieren, das kann niemand.
    du lernst es, oder du hörst auf zu raten.

    lernen bedeutet in dem fall, streng nachzudenken, was die befehle machen.
    und mysql_fetch_irgendwas holt datensätze aus einem resultset. was du brauchst, ist eine funktion, die die query an die db sendet.

    Kommentar


    • #32
      Ja, ich hab mir ja 2 schlaue MySQL Bücher aus der Bibliothek geholt und ich les mir die mal durch. Bis dahin nutz ich ne vorprogrammierte suchengine. Aber ich versteh halt nich, warum der nichts aus der db rausholt mit mysql_query() wo schon der fehler auftritt.

      Kommentar


      • #33
        Irgendwas mit dem Limit haut nicht hin:

        PHP-Code:
        $search mysql_query("SELECT * FROM `Suchen` WHERE `keywords` LIKE '%" $_GET
        ["query"] . "%' LIMIT 0, 6"
        Fehlertext:

        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 '0, 6' at line 1
        Zuletzt geändert von Dulla_Po; 24.12.2006, 00:59.

        Kommentar


        • #34
          1. jetzt noch mal an meinen pseudo-code denken.
          2. schau dir die beispiele zu LIMIT an: http://mysql.org/doc/refman/5.0/en/select.html

          Kommentar


          • #35
            Penizillin, es hat geklappt. Es war eine Leerzeichen zu wenig! Und ich sitz den ganzen Tag hier ^^ Ach die Welt ist schön. heißt nich Limit 0, 6 sondern Limit 0 , 6 LEERZEICHEN!

            Danke nochmal für deine Hilfe!

            Jetz kann ich in ruhe schlafen, wünsch dir auch eine Gute Nacht!

            Kommentar


            • #36
              Ich kaue dir das jetzt mal vor........
              PHP-Code:
              $sql="
               SELECT * 
                 FROM `Suchen` 
                 WHERE `keywords` 
                 LIKE '%" 
              $_GET["query"] . "%' 
                 LIMIT 0, 6"
              ;

              $search mysql_query($sql);

              if (
              FALSE===$search)
              {
                echo 
              'Fehler: '.mysql_error().'<br>';
                echo 
              'Bei der Abfrage: '.$sql;
                exit;

              Es wäre schöner für dich und für uns, wenn du dir
              einen solchen, oder irgendwie übersichtlichen Stil
              zulegen würdest..

              Dieses könnte wichtig für dich sein:
              http://www.php-faq.de/q/q-sql-injection.html
              Zuletzt geändert von combie; 24.12.2006, 01:54.
              Wir werden alle sterben

              Kommentar


              • #37
                Ok, ich werd es mir zu herzen nehmen! Danke

                Kommentar


                • #38
                  heißt nich Limit 0, 6 sondern Limit 0 , 6 LEERZEICHEN!
                  das ist sowas von egal.
                  Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                  var_dump(), print_r(), debug_backtrace und echo.
                  Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                  Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                  Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                  Kommentar


                  • #39
                    OffTopic:
                    Dulla_Po hatte ursprünglich die zahlen 0 und 6 in eckige klammern gesetzt, ich denke, das war's.

                    Kommentar


                    • #40
                      ^^ Ich hätt da noch ein kleines Problemchen, mit Javascript und den Hochkommatas.

                      PHP-Code:
                      echo "onchange="location.href='search.php?query=" . $_GET["query"] . "&limit=
                      " . $_GET["limit"] . "&anzeigen=' 
                      this.options[this.selectedIndex].value""
                      Wie ihr seht, geht das so nich. Aber da ich hier auch nen String zusammensetze und das ganze in HTML einbette, muss ich ja einfaches und doppeltes hochkommata benutzen. Kann man da irgendwas machen?
                      Danke im vorraus
                      Dulla_Po

                      P.S.
                      Ja ich glaub auch, das das die eckigen Klammern waren!

                      Kommentar


                      • #41
                        Ich meine, da gibts was mit Backlslashes...
                        Muste mal in der Doku bei Sprachreferenz->Typen->Strings schauen..
                        Falls du das nicht sofort finden solltest, bitte: http://www.php.net/manual/de/language.types.string.php
                        Zuletzt geändert von combie; 26.12.2006, 18:46.
                        Wir werden alle sterben

                        Kommentar


                        • #42
                          Du kennst \ ?
                          PHP-Code:
                          //dat sieht scheisse aus
                          echo 'Ich bin's der String der dich rief'; 
                          PHP-Code:
                          //schon viel besser
                          echo 'Ich bin\\'s der String der dich rief'; // das Forum frisst den Backslash 
                          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                          Kommentar


                          • #43
                            Also anstatt ' ins echo \? eingeben?

                            Ja ich kenn z.B. \n fürn Zeilenumbruch!

                            Kommentar


                            • #44
                              Ne anstatt ' gibst du \' ein.
                              Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                              var_dump(), print_r(), debug_backtrace und echo.
                              Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                              Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                              Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                              Kommentar


                              • #45
                                Ja, hab gesehen, Danke!

                                Wird aber leider trotzdem noch so angezeigt

                                Code:
                                <select name='wahl' onchange='location.href=\'search.php?query=info&limit=0&anzeigen=\' + this.options[this.selectedIndex].value;'>
                                p.S. Hier wirds umgesetzt aber aufem funpic Server nich
                                Zuletzt geändert von Dulla_Po; 26.12.2006, 19:42.

                                Kommentar

                                Lädt...
                                X