zelda: True?

Hello leute..........

wenn ich eine anfrage an die Datenbank stelle in etwa so:
[code:
mysql_query("select * from tabelle where name='xxx';");
]

und die anfrage war erfolgreich, bekomme ich dann ein True zurück?
Und wenn die anfrage nicht erfolgreich war weil der name xxx nicht gefunden wurde ein false?

Und zuguter letzt,

wie könnte ich mit dem php befehl echo eine Javascript alert-box aufmachen? Ist das möglich?
Habe es schon so:
 echo "javascript:alert('');"

versucht das geht nicht.

Danke wenn mir einer eine Antwort geben kann!

Schönes WE!

  1. Hi,

    wenn ich eine anfrage an die Datenbank stelle in etwa so:
    und die anfrage war erfolgreich, bekomme ich dann ein True zurück?

    nein, eine Ressourcen-Referenz. Ich hoffe nicht, dass Du Dir öfter die Dokumentation vorlesen lassen willst.

    Und wenn die anfrage nicht erfolgreich war weil der name xxx nicht gefunden wurde

    Was wäre daran nicht erfolgreich?

    wie könnte ich mit dem php befehl echo eine Javascript alert-box aufmachen? Ist das möglich?

    Nein. Du kannst mit PHP lediglich Code rausschreiben, der dann von einem Client interpretiert werden kann. _Der Client_ entscheidet, ob und wie er ihn interpretiert.

    versucht das geht nicht.

    Erstens: "Geht nicht" geht nicht. Fehlerbeschreibung, bitte.

    Zweitens: Für *alle* clientseitigen Probleme ist *jeder* serverseitige Code *absolut* irrelevant. Betrachte *nur* das, was der Client erhält, *niemals* dessen Erzeugung.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi Cheatah,

      ich weiss nicht, entweder verstehe ich das nicht oder ich habe meine frage falsch formuliert.

      Ich meinte das so:

      Ich möchte eine anfrage an die datenbank senden und zwar das:
         $antwort=mysql_query("delete from TABELLE where FELD=20");
      Also ich möchte einen Datensatz aus der Tabelle löschen.
      Wenn der Datensatz aber nicht vorhanden ist was wird denn dann geliefert`? FALSE oder nicht?
      Ich möchte entscheiden ob der Datensatz gelöscht wurde weil der vorhanden war, und wenn ich er nicht vorhanden war und nicht gelöscht werden kann.

      if(antwort)
          {
                echo "Datensatz gelöscht!";
          }
         else
          {
                echo "Datensatz nicht gelöscht!";
          }

      So klappt es nicht....
      Deinem Link zufolge wird doch True oder False gesendet?!?

      Danke wenn mir einer Weiterhelfen kann.

      1. Hi,

        Wenn der Datensatz aber nicht vorhanden ist was wird denn dann geliefert`? FALSE oder nicht?

        was haben Deine Tests ergeben?

        Deinem Link zufolge wird doch True oder False gesendet?!?

        Meinem Link zufolge wird _ein Objekt_ oder false geliefert.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Meinem Link zufolge wird _ein Objekt_ oder false geliefert.

          Ok, also bei erfolg wird ein Objekt geliefert.
          Aber wie soll ich das Objekt auswerten bzw. als erfolgreich anfrage werten?

          Danke

          1. Hi,

            Aber wie soll ich das Objekt auswerten bzw. als erfolgreich anfrage werten?

            in meiner ersten Antwort habe ich angedeutet, dass ich nicht gedenke, Dir die Dokumentation vorzulesen. Resource-Objekte bekommst Du bei *jeder* Datenbank-Abfrage zurück - entsprechend gut sind sie dokumentiert. Wenn Dir die Informationen, die Du auf php.net erhältst, nicht genügen, dann frage bitte _gezielt_ nach.

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. Hi Cheatha,

              ok so wie ich es verstanden habe ist alles ungleich false
              eine erfolgreiche ausführung.

              also müsste der Code so heissen:
                if(!$antwort==false) --------> Ausführung erfolgreich
                else                 --------> Ausführung nicht erfolgreich

              oder nicht?

              :(

              1. Hi,

                ok so wie ich es verstanden habe ist alles ungleich false
                eine erfolgreiche ausführung.

                ja, richtig. Eine erfolgreiche Ausführung wäre beispielsweise, wenn kein Datensatz gelöscht wurde.

                also müsste der Code so heissen:

                Nicht bei dem, was Du offenbar vorhast. Du definierst "Erfolg" esotherisch, nicht technisch. Eine Datenbank kann nicht erraten, was eigentlich Dein Ziel ist; sie wird Dir melden, dass erfolgreich keine Änderung durchgeführt wurde.

                Und nun konsultiere *bitte* die Dokumentation.

                Cheatah

                --
                X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                X-Will-Answer-Email: No
                X-Please-Search-Archive-First: Absolutely Yes
                1. Das stimmt,

                  aber man könnte doch wenigstens verlangen das so ein system
                  ein logisches "ja" oder "nein" ausgeben könnte.
                  Das habe ich sogar vor 10 Jahren mit Qbasic erfahren.
                  Es gibt doch eigentlich nur diesen zustand, entweder wurde etwas erfolgreich ausgeführt oder nicht. Also entweder TRUE oder FALSE.

                  Aber trotzdem Danke

                  1. Hallo,

                    Du vermischst zwei verschiedene Dinge, Cheatah hat es ja auch schon angedeutet,

                    • die technisch erfolgreiche Ausführung des Befehls, den du an die DB schickst (also DELETE A WHERE B=C) und
                    • das Ergebnis der Ausführung, die betroffenen Zeilen

                    Wenn du den Erfolg von der Anzahl der betroffenen Zeilen abhängig machen willst, so benutze Funktionen des Datenbank-API, die dir nach der technisch erfolgreichen Ausführung sagen, wieviele Datensätze betroffen sind.

                    if anzahl_betroffener_zeilen > 0 return true
                    else false

                    Jetzt noch Fragen?

                    Adé, Frank

        2. echo $begrüßung;

          Meinem Link zufolge wird _ein Objekt_ oder false geliefert.

          Nein, ein Objekt ist das nicht. Eine Ressourcen-ID ist ein spezieller Typ Variable aber kein Objekt.

          echo "$verabschiedung $name";

  2. Hello zelda,

    wenn ich eine anfrage an die Datenbank stelle in etwa so:
    [code:
    mysql_query("select * from tabelle where name='xxx';");
    ]
    und die anfrage war erfolgreich, bekomme ich dann ein True zurück?
    Und wenn die anfrage nicht erfolgreich war weil der name xxx nicht gefunden wurde ein false?

    mal sehen, fragen wir doch vielleicht mal das Manual. Dort sehen wir, dass die Funktion im Erfolgsfall einen Ergebnishandle liefert, über den man an die tatsächlichen Treffer kommt, bei Fehlschlag FALSE.

    wie könnte ich mit dem php befehl echo eine Javascript alert-box aufmachen? Ist das möglich?
    Habe es schon so:
    echo "javascript:alert('');"

    PHP als solches gibt es ja für den Browser nicht. Für den Browser kommt nur HTML an. Wenn du also mit JavaScript was machen willst, tu das selbe wie sonst auch: Mach einen Script-Block...

    MfG
    Rouven

    --
    -------------------
    He is entertaining both out of the car and in the car because if you tell him that a corner is almost flat then he is the guy who is going to try to take it flat even if it means shunting it the other side of it, he will come with the data and say 'hey, I may have crashed and destroyed the car, but I was flat-out'. That is an interesting quality that he has!  --  Team Member on Jacques Villeneuve
  3. So, ich habe es gebacken bekommen.
    Ich benutze einfach mysql_affected_rows().
    Wenn mysql_affected_rows() == 0 liefert, wurde nix gelöscht und somit
    kann ich unterscheiden ob was gelöscht wurde oder nicht!

    Hättest du mir das nicht gleich schreiben können? ;)

    1. yo,

      Hättest du mir das nicht gleich schreiben können? ;)

      ich denke, alle weltwunder sind dieses jahr schon aufgebraucht. insofern werden wir wohl auf eine direkte antwort von cheatah bis nächstes jahr warten müssen.

      Ilja