Ergebnis 1 bis 8 von 8

Thema: Dynamische SQL Suche mit Like...

  1. #1
    Großmeister(in) Avatar von Darkxor
    Registriert seit
    17.11.2007
    Ort
    NRW
    Beiträge
    663
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Dynamische SQL Suche mit Like...

    Hallo,
    ich will gerne eine Suche für Items machen.
    Man kann nach Itemstatus also verkauft, nichtverkauft oder alle suchen
    und zusätzlich server auswählen oder auch alle. Da für "alle" jeweils kein
    AND ... in der SQL Abfrage gebraucht wird habe ich den Zusatz in einer
    Variable.

    In der echo Ausgabe steht eigentlich alles wie ich es haben möchte.
    Letztendlich wird jedoch trotzdem der Fehler:
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\PenyaShop\Suche.php on line 86
    ausgegeben.

    Hier der komplette Code der Datei (unten ist das mit den Variablen):
    PHP-Code:
    <?php 
    include("securitycheck.php"); 
    include(
    "dbconnect.php");

    if(isset(
    $_POST['absenden']))
    {
        if(!empty(
    $_POST['suche']))
        {
            
    //Variablen definieren
            
    $suchwort $_POST['suche'];
            
    $suchwort "%".$suchwort."%";
            
    $status $_POST['status'];
            
    $server =  $_POST['server'];
            
            
            
            
        }
    }

    ?>
    <form name="suche" method="post" action="">
    Itemname oder Teilwort eingeben:
    <br>
    <input type="text" name="suche" size="50">
    <br>
    Server:
    <select name="server" size="1">
    <option value="all">Alle Server</option>
    <?php
    //Server abfragen
    $serverabfrage0 "SELECT * FROM server";
    $serverabfrage1 mysql_query($serverabfrage0);
    while(
    $row mysql_fetch_array($serverabfrage1))
    {
    ?>
        <option value="<?php echo $row["Id"]; ?>"><?php echo $row["Server"]; ?></option>
    <?php
    }
    ?>
    </select>
    <br>
    Status:
    <select name="status" size="1">
        <option value="nichtverkauft">Nicht verkauft</option>
        <option value="schonverkauft">Schon verkaufte</option>
        <option value="alle">Alle</option>
    </select>
    <br>
    <input type="submit" name="absenden" value="Suchen">
    </form>
    <br>
    <br>
    <?php

    if(isset($_POST['absenden']))
    {
        if(!empty(
    $_POST['suche']))
        {
            
    //Gucken welche Suchart
            
    if($status == "Alle")
            {
                
    $suchstatus "";
            }
            elseif(
    $status == "Nicht verkauft")
            {
                
    $suchstatus "AND Gekauft = '0'";
            }
            else
            {
                
    $suchstatus "AND Gekauft = '1'";
            }
            
    //Gucken welchen Server
            
    if($server == "all")
            {
                
    $serverwahl "";
            }
            else
            {
                
    $serverwahl "AND ServerId = '$server'";
            }
            
    //Abfrage
            
    include("dbconnect.php");
            
    $suchdurchfuehrung_1 "SELECT * FROM itemverkauf WHERE Titel LIKE ".$suchwort." ".$suchstatus." ".$serverwahl."";
            
    $suchdurchfuehrung_2 mysql_query($suchdurchfuehrung_1);
            while(
    $sucherg mysql_fetch_array($suchdurchfuehrung_2))
            {
                echo 
    $sucherg['Titel'];
            }
        }
    }

    ?>
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    -

  2. #2
    Bandit
    Gast

    Standard AW: Dynamische SQL Suche mit Like...

    Wie oft soll ich dir das noch schreiben:

    Richtig debuggen
    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL); und ini_set("display_errors", true);
    3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
    5. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

    Und ein mysql_error hilft in der Regel auch! mysql_real_escape_string fehlt auch! Alles Dinge, die dir schon 'zig mal geschrieben wurden!

  3. #3
    Großmeister(in)
    Registriert seit
    09.12.2008
    Ort
    Berlin
    Alter
    38
    Beiträge
    666
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard AW: Dynamische SQL Suche mit Like...

    Lass ihn halt warten bis ihm das erste mal nen '); drop database eingeschleust wird
    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

  4. #4
    Großmeister(in)
    Themenstarter
    Avatar von Darkxor
    Registriert seit
    17.11.2007
    Ort
    NRW
    Beiträge
    663
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Dynamische SQL Suche mit Like...

    Lass ihn halt warten bis ihm das erste mal nen '); drop database eingeschleust wird
    mysql_real_escape_string fehlt auch
    Mir war bewusst, dass dies noch fehlte, es ist momentan nur lokal und
    ich wollte es erst nachher einbaun, da ich nun noch nicht weiß ob dies
    wirklich die endgültigen SQL vars sind.
    Wie oft soll ich dir das noch schreiben:
    Scheint dir ja Spaß zu machen.
    mysql_error hilft in der Regel auch!
    Hilft mir nur auch nicht, da ich nun nur noch sehe:
    Code:
    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 '%hallo% AND Gekauft = '1'' at line 1
    Wenn ich mir den SQL String also Variable $suchdurchfuehrung_1 ausgeben lasse sehe ich folgendes.
    Code:
    SELECT * FROM itemverkauf WHERE Titel LIKE %hallo% AND Gekauft = '1'
    Und das müsste ja so richtig sein.
    -

  5. #5
    Großmeister(in)
    Registriert seit
    09.12.2008
    Ort
    Berlin
    Alter
    38
    Beiträge
    666
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard AW: Dynamische SQL Suche mit Like...

    Zitat Zitat von Darkxor Beitrag anzeigen
    Hilft mir nur auch nicht, da ich nun nur noch sehe:
    Code:
    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 '%hallo% AND Gekauft = '1'' at line 1
    Sag mal... natürlich hilft dir das, wenn du auch mal versuchst die Fehlermeldung zu verstehen statt sie nur hier reinzukopieren.
    Zaunpfahl: Grundkenntnisse Mysql.
    Um Strings gehören Hochkommata:
    LIKE '%hallo%'
    und nicht wie du es hast LIKE %hallo%
    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

  6. #6
    Großmeister(in)
    Themenstarter
    Avatar von Darkxor
    Registriert seit
    17.11.2007
    Ort
    NRW
    Beiträge
    663
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Dynamische SQL Suche mit Like...

    Ups ich hatte eben alles mit einem ' da hatte er jedoch auch gemeckert.
    $suchdurchfuehrung_1 = "SELECT * FROM itemverkauf WHERE Titel LIKE '$suchwort' ".$suchstatus." ".$serverwahl."";
    So geht es.
    -

  7. #7
    Bandit
    Gast

    Standard AW: Dynamische SQL Suche mit Like...

    Zitat Zitat von Darkxor Beitrag anzeigen
    Scheint dir ja Spaß zu machen.
    Ich finde das überhaupt nicht lustig. Ganz im Gegenteil! Es ist langsam albern, dass man dir das immer wieder schreiben muss. Anstatt dir selber mal etwas Mühe zu geben ziehst du es vor, immer wieder die gleichen Probleme zu posten, die man ohne große Anstrengung selber lösen könnte.

  8. #8
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Dynamische SQL Suche mit Like...

    Ich finde es lustig.
    Wie wäre es denn so:
    Zitat Zitat von Eine sinnvoller Fragen-Beantworter
    Hallo!
    Du hasst die ' um %hallo% vergessen.
    Das hättest du aber auch selbst mit ein wenig Probieren lösen können.
    Hat auch etwas...

Ähnliche Themen

  1. Dynamische Links
    Von Leth im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 18.09.2008, 00:29
  2. Dynamische Bildergalerie ...
    Von Body3000 im Forum Flash Forum
    Antworten: 2
    Letzter Beitrag: 06.03.2007, 13:07
  3. Dynamische Tagcloud
    Von vbtricks im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 0
    Letzter Beitrag: 09.01.2007, 20:16
  4. dynamische seite
    Von pazaar im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 6
    Letzter Beitrag: 10.09.2005, 15:59
  5. dynamische DNS
    Von Ricken im Forum HTML & CSS Forum
    Antworten: 31
    Letzter Beitrag: 20.08.2004, 17:10

Stichworte

Berechtigungen

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