Anzeige:
Ergebnis 1 bis 12 von 12

Thema: WHERE NOT klausel funktioniert nicht so wie ich es will

  1. #1
    Registrierter Benutzer
    Registriert seit
    06.11.2003
    Ort
    sessel vor dem pc
    Beiträge
    66

    WHERE NOT klausel funktioniert nicht so wie ich es will

    hi.... code gerade ein acp und bin bei der userverwaltung anjekommen.... dabei geht es mir darum die editierung meiner daten zu verhindern indem ich dem script ganz einfach verbieten will einen link zum editieren bzw. loeschen meines accounts zu krieren..

    am einfachsten dachte ich loes ich es auf diese weise

    Code:
    SELECT * FROM er_users WHERE NOT name='ohcibi'
    jetz bin ich recht ratlos anfangs schob ich es auf einen schreibfehler, jedoch gibt das skript wenn ich das NOT rausnehme exakt meine account daten wieder, mit dem NOT jedoch gibt es gar nichts wieder - koennte ja am phpskript liegen dachte ich mir, also im phpmyadmin getestet, selbst der bleibt stumm.... was is daran jetz also falsch??

  2. #2
    Registrierter Benutzer
    Registriert seit
    05.05.2004
    Beiträge
    212
    versuchs mal mit
    Code:
    SELECT * FROM er_users WHERE name not like 'ohcibi'
    cu SHB

  3. #3
    Registrierter Benutzer
    Registriert seit
    06.11.2003
    Ort
    sessel vor dem pc
    Beiträge
    66
    werde ich ma versuchen (und dann edit obs hinhaut), trotzdem will ich die frage im raum stehen lassen warum es mit meiner abfrage nich funktioniert - genauso, nur nicht mit ohcibi sondern mit ner variable glaube, funktioniert es naemlich inem anderen script...



    [EDIT]
    habs ma im phpmyadmin probiert klappt mit
    Code:
    SELECT * FROM er_users WHERE name NOT LIKE 'ohcibi'
    was also is an meiner abfrage falsch?
    [/EDIT]
    Geändert von ohcibi (23-08-2004 um 12:41 Uhr)

  4. #4
    Registrierter Benutzer Avatar von Hans-Georg Normann
    Registriert seit
    04.03.2000
    Ort
    Uetersen
    Beiträge
    571
    Zitat Zitat von ohcibi
    was also is an meiner abfrage falsch?
    NOT ist ein Operator wie =, <>, LIKE etc auch. Deshalb frage ich mich ob WHERE NOT name='irgendetwas' syntaktisch richtig ist. Du hättest hier zwei Operatoren durch einen Feldnamen getrennt.

    Habe mal einige Bücher gewälzt. Aber so richtig schlau geworden bin ich dadurch auch nicht geworden. Da ich aber immer schon aus dem Bauch heraus feldname NOT LIKE xxx verwendet habe, habe ich da aber auch noch nie Schwierigkeiten gehabt.

    Hans
    333 Mhz, 466 MHz, neee, ich hab was neues zuhause.....

  5. #5
    Registrierter Benutzer
    Registriert seit
    06.11.2003
    Ort
    sessel vor dem pc
    Beiträge
    66
    es sind doch aber keine operatoren gleichen typs... und wie gesagt ich kann mich daran erinnern das schonma so verwendet zu haben..... einen sql error gabs auch nich...

  6. #6
    Registrierter Benutzer Avatar von elrond
    Registriert seit
    03.10.2001
    Ort
    potsdam
    Beiträge
    881
    was ist denn gegen das naheliegende "...name<>'elrond' " einzuwenden ?
    "Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut." (Winston Churchill)

  7. #7
    Registrierter Benutzer
    Registriert seit
    06.11.2003
    Ort
    sessel vor dem pc
    Beiträge
    66
    Zitat Zitat von elrond
    was ist denn gegen das naheliegende "...name<>'elrond' " einzuwenden ?
    theoretisch nix..... aber groeßer kleiner beschreibt ja prinzipiell ein mathematisches problem, das ist es aber nich also wuerde es fuer mich unsauber aussehen und mir nich jefallen...

  8. #8
    Registrierter Benutzer Avatar von elrond
    Registriert seit
    03.10.2001
    Ort
    potsdam
    Beiträge
    881
    Zitat Zitat von ohcibi
    theoretisch nix..... aber groeßer kleiner beschreibt ja prinzipiell ein mathematisches problem, das ist es aber nich also wuerde es fuer mich unsauber aussehen und mir nich jefallen...
    naja... "<>" beschreibt kein mathematisches problem sondern ist ein logischer operator, der von den SQL-Machern zum Test auf "ungleich" eingeführt worden ist.
    2 <> 3 ist ein ebensoguter logischer Ausdruck wie 'Apfel'<>'Birne' . Ich denke nicht daß es lohnt darüber weiter nachzudenken.

    Was bei deinem Vergleich aber sinnvoll sein könnte, ist die zu vergleichenden Strings vor dem Vergleich aufzubereiten; dh. Lerrzeichen entferen und über Groß-/Kleinschreibung nachdenken.

    wenns dann immernoch unschön ist, dann ist es möglich logische ausdrücke zu klammern:

    "... where not (name='elrond')"
    Geändert von elrond (24-08-2004 um 07:29 Uhr)
    "Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut." (Winston Churchill)

  9. #9
    Registrierter Benutzer
    Registriert seit
    06.11.2003
    Ort
    sessel vor dem pc
    Beiträge
    66
    Zitat Zitat von elrond
    Was bei deinem Vergleich aber sinnvoll sein könnte, ist die zu vergleichenden Strings vor dem Vergleich aufzubereiten; dh. Lerrzeichen entferen und über Groß-/Kleinschreibung nachdenken.
    wie kommst du darauf, dass das bei meinem vergleich sinnvoll waere?? es wird so gebraucht wie es da steht, geht nur darum, dass mein account in diesem acp nich editiert werden kann, also ich kann den nutzen dieses ratschlags eindeutig erkennen, tatsaechlich hab ich mir darueber noch keine gedanken gemacht - aber dein zusatz was bei deinem vergleich..... iritierte mich, da es ja hier rein darum geht alle datensaetze außer name = ohcibi rauszuholen...

  10. #10
    Registrierter Benutzer Avatar von elrond
    Registriert seit
    03.10.2001
    Ort
    potsdam
    Beiträge
    881
    schon gut....

    Du hast ja Recht! Für den Negativ-Vergleich ist es nicht wirklich notwendig die Werte aufzubereiten. Ich wollte einfach nur mal den Klugsch.. raushängen lassen .

    Aber die Sache mit den Klammern findet doch deine Zustimmung ?
    "Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut." (Winston Churchill)

  11. #11
    Registrierter Benutzer
    Registriert seit
    06.11.2003
    Ort
    sessel vor dem pc
    Beiträge
    66
    Zitat Zitat von elrond
    Ich wollte einfach nur mal den Klugsch.. raushängen lassen .
    dann handelst du ja aehnlich wie ich 8-))...

    Zitat Zitat von elrond
    Aber die Sache mit den Klammern findet doch deine Zustimmung ?
    wenn es funktioniert sicher, aber testen konnt ich das noch nich 8-)

  12. #12
    Registrierter Benutzer Avatar von elrond
    Registriert seit
    03.10.2001
    Ort
    potsdam
    Beiträge
    881
    Funxt, ich hab's unter postgreSQL und mysql getestet...
    "Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut." (Winston Churchill)

Lesezeichen

Berechtigungen

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