mssql update

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • mssql update

    Ein update eines Datensatzes:

    so gehts:
    PHP-Code:
    $db_query "UPDATE st1_user SET akt_session = '$sesID' WHERE id = '$db_id'"
    Nur will ich es anders machen. Mit einem VALUES wie bei Insert. nur will es einfach nicht klappen.

    PHP-Code:
    $db_query "INSERT INTO st1_user (username)
    VALUES ('
    $_POST[post_username]') 
    Weiß wer wie?

    campy

  • #2
    da fehlt mindestens ein " am ende deines strings.

    PHP-Code:
    $db_query "INSERT INTO st1_user (username) VALUES ('".$_POST[post_username]."')"
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Das hast du mich falsch verstanden. Das Insert funktioniert ja. Ich will es aber mit dem UPDATE so machen mit VALUES.
      Das bekomme ich nicht zusammen.

      campy

      Kommentar


      • #4
        das geht meiner Meinung nach auch nicht!

        aus der online hilfe:
        Ändern von Daten mit UPDATE
        Die UPDATE-Anweisung kann Datenwerte in einzelnen Zeilen, Gruppen von Zeilen oder allen Zeilen in einer Tabelle oder Sicht ändern. Mit ihr können auch Zeilen auf einem Remoteserver aktualisiert werden. Dabei können entweder der Name eines Verbindungsservers oder die OPENROWSET-, OPENDATASOURCE- und OPENQUERY-Funktionen verwendet werden, wenn der OLE DB-Provider, der zum Zugreifen auf den Remoteserver verwendet wird, Aktualisierungen unterstützt. Mit einer UPDATE-Anweisung, die auf eine Tabelle oder Sicht verweist, können die Daten nur jeweils in einer Basistabelle geändert werden.

        Für die UPDATE-Anweisung gibt es die folgenden Hauptklauseln:

        SET
        Enthält eine durch Kommas getrennte Liste der Spalten, die zu aktualisieren sind, sowie den neuen Wert für jede Spalte im Format column_name = expression. Der von den Ausdrücken angegebene Wert enthält Elemente, wie z. B. Konstanten, aus einer Spalte in einer anderen Tabelle oder Sicht ausgewählte Werte oder von einem komplexen Ausdruck berechnete Werte.

        FROM
        Bezeichnet die Tabellen oder Sichten, die die Werte für die Ausdrücke in der SET-Klausel bereitstellen, sowie optional Verknüpfungsbedingungen zwischen den Quelltabellen oder -sichten.

        WHERE
        Gibt die Suchbedingung an, die die Zeilen aus den Quelltabellen und -sichten definiert, die dafür gekennzeichnet sind, Werte für die Ausdrücke in der SET-Klausel bereitzustellen.

        In der folgenden Aktualisierungsanweisung werden die Preise aller Northwind-Produkte in Kategorie 2 um 10 % erhöht:

        UPDATE Northwind.dbo.Products
        SET UnitPrice = UnitPrice * 1.1
        WHERE CategoryID = 2
        und hier die befehlssyntax:
        UPDATE
        {
        table_name WITH ( < table_hint_limited > [ ...n ] )
        | view_name
        | rowset_function_limited
        }
        SET
        {column_name = {expression | DEFAULT | NULL}
        | @variable = expression
        | @variable = column = expression } [,...n]

        {{[FROM {<table_source>} [,...n] ]

        [ WHERE
        <search_condition>] }
        |
        [ WHERE CURRENT OF
        { { [ GLOBAL ] cursor_name } | cursor_variable_name }
        ] }
        [ OPTION ( < query_hint > [ ,...n ] ) ]

        Kommentar


        • #5
          dann die Frage anders:
          Wie verhindet man das, mehr als nur das gewünschte Update durchgeführt wird

          zB: wäre normal

          $db_query = "UPDATE st1_user SET akt_session = '$sesID' WHERE id = '$db_id'";

          Was ist aber wenn mir ein böser User zu dem $sesID noch was anderes mitsendest.

          $sesID = "xxx, admin=1" -> macht sich zum Admin

          kann man das wirksam verhindern?

          campy

          Kommentar


          • #6
            wenn du die session-id z.b. aus der flt session_id() beziehst.
            nur als beispiel eben.

            oder du prüft den inhalt ab, ob dieser ein korrekter wert ist....
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar

            Lädt...
            X