Ankündigung

Einklappen
Keine Ankündigung bisher.

SOUNDS LIKE, SOUNDEX und LIKE

Einklappen

Neue Werbung 2019

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

  • SOUNDS LIKE, SOUNDEX und LIKE

    Hi!
    Ich möchte eine Suche programmieren, aber egal was ich benutze, es kommt immer ein Fehler.
    Versuch 1:
    Code:
    SELECT * FROM `artikel` WHERE `name` SOUNDEX('".$_REQUEST['suche']."')
    da kommt der Fehler:
    Code:
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/web6/html/knickrad/suche.php on line 21
    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 'from `artikel` where `name` SOUNDEX('Test')' at line 1
    Versuch 2:
    Code:
    SELECT * FROM `artikel` WHERE `name` SOUNDS LIKE '".$_REQUEST['suche']."'
    da kommt der Fehler:
    Code:
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/web6/html/knickrad/suche.php on line 21
    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 'from `artikel` where `name` SOUNDS LIKE 'Test'' at line 1
    Versuch 3:
    Code:
    SELECT * FROM `artikel` WHERE `name` LIKE '".$_REQUEST['suche']."'
    da kommt der Fehler:
    Code:
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /srv/www/htdocs/web6/html/knickrad/suche.php on line 21
    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 'from `artikel` where `name` LIKE 'Test'' at line 1
    Brauche bitte dringend hilfe.

    MfG
    ClaBo3

  • #2
    Und das ist wirklich der SQL, den du dort angibst? Was für ein Zeichen befindet sich nach dem * und vor dem FROM?

    Kommentar


    • #3
      nichts?

      Kommentar


      • #4
        Wenn da nix ist, hast du den Fehler, ich sehe da mindestens ein Leerzeichen oder was anderes abstruses.

        Nochmal die Frage: Das ist der SQL, um den es geht? Den hast du nicht beispielsweise von Hand gerade eingetippt? Du hast den eins zu eins aus dem Script kopiert? Da kommt nichts mehr davor? Du hast den SQL direkt vor der Verwendung in mysql_query mal per echo ausgeben lassen?

        Kommentar


        • #5
          hi

          hat den spalte `name` einen fulltext index?

          Kommentar


          • #6
            ? hä?
            So hab ich dass, ich will denn ja ne if(mysql_num_rows()) habn.
            natürlich, der Code wird erstmal in die Variable $sql geladen und danach mit
            Code:
            $sql2 = mysql_query($sql);
            getan.

            Kommentar


            • #7
              Laut Fehlermeldung sieht MySQL ein Problem unmittelbar vor oder mit dem Schlüsselbegriff "FROM". Das kann bedeuten, dass da was ist, was MySQL nicht mag (ein "komisches" Leerzeichen oder auch gar keins) oder auch, dass der Schlüsselbegriff "FROM" merkwürdig ist bzw., so völlig unerwartet.

              Poste mal so etwa 10 Zeilen vor deinem mysql_query bis zum mysql_query selber.

              Kommentar


              • #8
                Also die gerade Datei is:
                Code:
                	    $sql = "select `id`";
                	    if($_REQUEST['art'] == "artikel")
                	    {
                		$datei = "artikel2.php";
                		$sql .= "`name`,`keywords`,`datum`,`preis` from `artikel` from `artikel` where `name` LIKE '".$_REQUEST['suche']."'";
                	    }elseif($_REQUEST['art'] == "kat"){
                		$datei = "categories.php";
                		$sql .= "`name`,`text` where `name` from `artikel_kat` where  SOUNDS LIKE ".$_REQUEST['suche']." or `text` SOUNDS LIKE ".$_REQUEST['suche'];
                	    }
                	    $sql2 = mysql_query($sql,$link);

                Kommentar


                • #9
                  Soviel zu deinem SELECT *.....

                  1. Wenn du den String zusammesetzt, muss natürlich nach 'id' ein Komma kommen bzw. vor 'name' jeweils ein Komma.

                  2. "`name`,`text` where `name` from
                  Was soll das? Das ist definitiv falsch.... (und der Grund für deinen Fehler). Das hat nix mehr mit SELECT * FROM..... zu tun, wie oben von dir zitiert...

                  Kommentar


                  • #10
                    mh... k ... thx, den Fehler hat ich nicht gesehn .

                    Kommentar


                    • #11
                      Wir lernen daraus, dass wir, wenn wir einen Select zitieren, ihn richtig zitieren, nicht nur "sinngemäss neu eintippen"

                      Kommentar

                      Lädt...
                      X