Abfrage mit beschränkung

  • Hallo
    mal wieder eine Frage bezüglich einer MySQL abfrage in PHP
    die SuFU hat mir nicht viel geholfen da ich nicht ansatzweise verstehe wie ich diese frage stellen sollte^^

    Soo:

    nemen wir mal an ich habe eine tabellen X und zwei Variablen Y Z
    ich möchte alles aus X auflisten was aber nur einem gewissen wert der gleich oder größer ist als Variable Y

    momentan habe ich das:

    PHP
    $ergebnis  = count_query("SELECT * 
                             FROM X
                             WHERE model = '$Z' 
                      AND WHERE cost =< '$Y';")

    was habe ich falsch ??? O.o

  • Äh, wo liegt der Fehler/ Das Problem ?!?
    Aber ne kleine Anmerkung: Variabeln innerhalb von '´s werden nicht ersetzt. Das sollte also heissen

    PHP
    "SELECT * FROM X WHERE model='".$Z."' AND WHERE cost =< '".$Y."'";

    Aber man sollte auch NIE * schreiben.

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  • Das Problem ist:

    mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /opt/lampp/htdocs/bsp/c_store.php on line 66

    poste jetzt mal den relevanten teil:

    die Warnung bezieht sich auf:

    PHP
    while ($item1 = mysql_fetch_assoc($item))
  • Das zweite where entfernt? mysql_error eingebaut? Wie sollen wir dir helfen, wenn du nicht die nötigen Infos lieferst?

    Und wenn ich count_query lese, stelle ich mir irgendwie etwas anderes darunter vor.

    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.

  • gut! Ausgabe:

    1064: 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 'WHERE cost_gold =< '100'' at line 4


    wie bekomme ich den trozdem (mit entferntem WHERE) nur die Ausgaben die ich will???

    Ich kenne mich noch nicht so sehr mit PHP aus wie ich es brauche, daher bitte ich um Verständnis wenn ich, trotz Lesens der Anleitungen nicht alles Perfekt hinbekomme.