kady: SELECT Abfrage funktioniert TEILWEISE nicht

Hallo,

habe ein Problem, dass eine Abfrage TEILWEISE nicht funktioniert.

1. Ziehe per SELECT eine Artikelübersicht aus MySQL (klappt alles)
2. Habe Artikelnummern, die entweder 4-stellig reine Zahlen oder 5-stellig 4Zahlen +1 Buchstabe lang sind.
3. will die herausgezogene Artikelnummer an diese SELECT-Abfrage übergeben:

SELECT * FROM artikel\_bilder WHERE art\_nr = $artikel_Nummer_uebergabe

Der Vergleich funktioniert anscheinend jedoch nur wenn die Artikelnummer 4-stellig ist. Dann klappt alles wunderbar. Bei den 5-stelligen gibt er einen Error aus.
Die Formate beider Spalten in den Tabellen sind gleich VARCHAR (5).

Ich weiß einfach nicht mehr wie ich das beheben kann
Ich kann mein Artikelnummernsystem jetzt auch nicht so leicht umbasteln.

Danke im Voraus!
MfG
Kady

  1. hi,

    SELECT * FROM artikel\_bilder WHERE art\_nr = $artikel_Nummer_uebergabe

    Der Vergleich funktioniert anscheinend jedoch nur wenn die Artikelnummer 4-stellig ist. Dann klappt alles wunderbar. Bei den 5-stelligen gibt er einen Error aus.

    Natürlich - du sagtest ja, dass die fünfstelligen "Nummern" einen Buchstaben enthalten, also sind es damit keine Zahlen mehr.

    Ich weiß einfach nicht mehr wie ich das beheben kann

    Du könntest dich um Grundlagenwissen bemühen ...

    http://dev.mysql.com/doc/refman/4.1/en/string-syntax.html

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo wahsaga,

      ich dachte eigentlich, dass ich beide Werte durch varchar als String definiert hätte und nicht als Integer. Das einmal nur Zahlen darin vorkommen und einmal Zahlen und ein Buchstabe ändert doch nichts automatisch am Datentyp, oder?

      Grundwissen, ja klar. Aber ein kleiner Verständnisfehler auch im Grundwissen - sollte ich hier falsch liegen - dürfte doch jedem Mal erlaubt sein.

      Kady

      1. hi,

        ich dachte eigentlich, dass ich beide Werte durch varchar als String definiert hätte und nicht als Integer.

        Das bezieht sich auf die Definition der Spalten.

        Das einmal nur Zahlen darin vorkommen und einmal Zahlen und ein Buchstabe ändert doch nichts automatisch am Datentyp, oder?

        Nein - aber daran, wie du sie innerhalb einer Query notieren musst, wenn du sie dort als (Vergleichs-)Werte benutzen willst.

        Wenn du in deiner WHERE-Klausel abc = 123 schreibst - dann ist "automatisch" klar, dass abc ein Spaltenname, und 123 ein Zahlwert sein soll.

        Wenn du jetzt aber WHERE abc = xyz schreibst - wodurch unterscheidet sich xyz dann noch von abc, wenn abc einen Spaltennamen darstellen soll?

        Grundwissen, ja klar. Aber ein kleiner Verständnisfehler auch im Grundwissen - sollte ich hier falsch liegen - dürfte doch jedem Mal erlaubt sein.

        Und Nachlesen sollte ja auch möglich sein.

        Wo liegt denn dein Verständnisproblem mit der verlinkten Seite?

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hi wahsaga,

          Danke Danke danke.

          Sag ich doch - manchmal brauchts nur ein kleiner Stupser und die Lücke is zu.

          Jetzt funzt es.

          Kady