Anzeige:
Ergebnis 1 bis 8 von 8

Thema: Datenbank nach variablen durchsuchen?

  1. #1
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Ort
    Dresden
    Beiträge
    24

    Datenbank nach variablen durchsuchen?

    Habe ja nun hinbekommen das ich eine Datenbank nach einen Bestimmten wort durchsuche. Aber will ich dieses mit einer Variablen tun habe ich das Problem das ich wieder (einen neue Fehlermeldung über denn Browser Bekomme.)

    code:

    $sql = 'SELECT `MATCHCODE` ';
    $sql .= 'FROM `geku` ';
    $sql .= 'WHERE 1 AND `MATCHCODE` ';
    $sql .= 'LIKE \`%\$suche%\` LIMIT 0, 30';

    $resultID = mysql_query($sql);
    $data = mysql_fetch_array($resultID);
    echo $data["MATCHCODE"];


    Fehlermeldung:
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/www/web7/html/holzrentsch/test/search.php on line 36

    Zeile 36: $data = mysql_fetch_array(...

  2. #2
    Registrierter Benutzer Avatar von elrond
    Registriert seit
    04.10.2001
    Ort
    potsdam
    Beiträge
    881
    mach doch einfach mal ein "echo $sql" und sieh dir an, was du da zusammengebaut hast.


    außerdem ist es lesbarer, wenn du statt
    Code:
     $sql .= 'LIKE \`%\$suche%\` LIMIT 0, 30';
    folgendes tuts

    Code:
     $sql .= "LIKE '%".$suche."%' LIMIT 0, 30";
    "Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut." (Winston Churchill)

  3. #3
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Ort
    Dresden
    Beiträge
    24

    Das Problem besteht immer noch

    habe meinen Code jetzt so geändert:
    $sql = 'SELECT `MATCHCODE` ';
    $sql .= 'FROM `geku` ';
    $sql .= 'WHERE 1 AND `MATCHCODE` ';
    $sql .= "LIKE `%".$suche."%` LIMIT 0, 30";

    $resultID = mysql_query($sql);
    $data = mysql_fetch_array($resultID);
    echo $data["MATCHCODE"];

    geändert hat es nichts, der Fehler besteht weiterhin. MFG

    Christian

  4. #4
    Registrierter Benutzer
    Registriert seit
    20.07.2001
    Beiträge
    144
    mach doch einfach mal ein "echo $sql" und sieh dir an, was du da zusammengebaut hast.
    poste doch mal das Ergebnis.

    Offe

  5. #5
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Ort
    Dresden
    Beiträge
    24

    Ergebniß von echo $sql

    SELECT `MATCHCODE` FROM `geku` WHERE 1 AND `MATCHCODE` LIKE `%vcbc%` LIMIT 0, 30

  6. #6
    Registrierter Benutzer
    Registriert seit
    22.08.2002
    Ort
    Nürnberg
    Beiträge
    638

    Re: Ergebniß von echo $sql

    Hi,

    Du hast aber schon die Dokumentation von mySQL gelesen?

    Insbesondere folgende Abschnitte:

    Dann würde sofort auffallen, dass die folgende Abfrage fehlerhaft ist:
    Original geschrieben von SAdemar
    SELECT `MATCHCODE` FROM `geku` WHERE 1 AND `MATCHCODE` LIKE `%vcbc%` LIMIT 0, 30
    Denn richtig müßte sie sicherlich so heißen:
    Code:
    SELECT `MATCHCODE` FROM `geku` WHERE 1 AND `MATCHCODE` LIKE '%vcbc%' LIMIT 0, 30
    Aus Optimierungsgründen sollte sie vielleicht sogar so heißen:
    Code:
    SELECT `MATCHCODE` FROM `geku` WHERE `MATCHCODE` LIKE '%vcbc%' LIMIT 0, 30
    Denn wie heißt es so schön, was immer wahr ist, kann ich implizit voraussetzen.

    Pingu

    PS: man beachte die unterschiedlichen Hochkommas/Anführungszeichen.

  7. #7
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Ort
    Dresden
    Beiträge
    24
    ok; JETZT Geht es soweit. aber wie bekomme ich es hin das er auch andere Spalten mitanzeigt ala SELECT `Matchcode`, `spalte2` ....
    Desweiteren wäre es gut wenn er alle Zeilen wo er was gefunden hat mit anzeigt.

    MFG

    Christian

  8. #8
    Registrierter Benutzer
    Registriert seit
    22.08.2002
    Ort
    Nürnberg
    Beiträge
    638
    RTFM

    Original geschrieben von SAdemar
    ok; JETZT Geht es soweit. aber wie bekomme ich es hin das er auch andere Spalten mitanzeigt ala SELECT `Matchcode`, `spalte2` ....
    select_ausdruck gibt die Spalten an, die Sie abrufen wollen.
    Original geschrieben von SAdemar
    Desweiteren wäre es gut wenn er alle Zeilen wo er was gefunden hat mit anzeigt.
    Die LIMIT-Klausel wird benutzt, um die Anzahl von Zeilen, die vom SELECT-Statement zurückgegeben werden, zu beschränken. LIMIT erwartet ein oder zwei numerische Argumente. Wenn zwei Argumente angegeben sind, legt das erste den Offset der ersten Zeile fest, die zurückgegeben wird, und das zweite gibt die maximale Anzahl von Zeilen an, die zurückgegeben werden.
    Pingu

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •