UPDATE klappt nicht

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

  • UPDATE klappt nicht

    Hallo, ich habe ein Problem mit dem Update von Daten.

    Auf der vorigen Seite werden die Daten per Abfrage aus den Spalten gezogen. Nach der änderung kommt man nun auf die seite mit diesem Code:
    PHP-Code:
    <?php
        
    // Connection zur Datenbank
    $link mysql_connect("localhost""root""")
       or die(
    "Keine Verbindung möglich: " mysql_error());
    mysql_select_db("inventur") or die ("Auswahl der Datenbank fehlgeschlagen");

    // Variablen abfangen
    $_POST['id'];
    $_POST['hostname'];
    $_POST['ip'];
    $_POST['seriennummer'];
    $_POST['marke'];
    $_POST['bezeichnung'];
    $_POST['standort'];
    $_POST['abteilung'];
    $_POST['arbeitsplatz'];
    $_POST['datum'];
    $_POST['mitarbeiter'];
    $_POST['betriebssystem'];
    $_POST['lizenz'];
    $_POST['office'];
    $_POST['antivirus'];
    $_POST['asoftware'];
    $_POST['cpu'];
    $_POST['ram'];
    $_POST['hdd'];
    $_POST['fdd'];
    $_POST['cddvd'];
    $_POST['netzwerkkarte'];
    $_POST['grafikkarte'];
    $_POST['monityp'];
    $_POST['monizoll'];
    $_POST['moniname'];
    $_POST['ahardware'];

    // Änderung der Daten in der Datenbank
    $update "UPDATE wks SET
    hostname = '%
    $hostname%',
    ip = '%
    $ip%',
    seriennummer = '%
    $seriennummer%',
    marke = '%
    $marke%',
    bezeichnung = '%
    $bezeichnung%',
    standort = '%
    $standort%',
    abteilung = '%
    $abteilung%',
    arbeitsplatz = '%
    $arbeitsplatz%',
    datum = '%
    $datum%',
    mitarbeiter = '%
    $mitarbeiter%',
    betriebssystem = '%
    $betriebssystem%',
    lizenz = '%
    $lizenz%',
    office = '%
    $office%',
    antivirus = '%
    $antivirus%',
    asoftware = '%
    $asoftware%',
    cpu = '%
    $cpu%',
    ram = '%
    $ram%',
    hdd = '%
    $hdd%',
    fdd = '%
    $fdd%',
    cddvd = '%
    $cddvd%',
    netzwerkkarte = '%
    $netzwerkkarte%',
    grafikkarte = '%
    $grafikkarte%',
    monityp = '%
    $monityp%',
    monizoll = '%
    $monizoll%',
    moniname = '%
    $moniname%',
    ahardware = '%
    $ahardware%'
    WHERE id = '%
    $id%'"
    $updaten mysql_query($update);

    // Hier bekommt man die Meldung ob der Datensatz erfolgreich geändert worden ist oder nicht.
    if($updaten)
        echo 
    "<strong>$hostname</strong> geändert";
    else
        echo 
    "Fehler aufgetreten!";
    ?>
    Doch die Daten werden nicht eingetragen.
    Sehe leider den Fehler nicht.

    Gruß

  • #2
    PHP-Code:
    $_POST['id'];
    $_POST['hostname'];
    $_POST['ip'];
    $_POST['seriennummer'];
    $_POST['marke'];
    $_POST['bezeichnung'];
    $_POST['standort'];
    $_POST['abteilung'];
    $_POST['arbeitsplatz'];
    $_POST['datum'];
    $_POST['mitarbeiter'];
    $_POST['betriebssystem'];
    $_POST['lizenz'];
    $_POST['office'];
    $_POST['antivirus'];
    $_POST['asoftware'];
    $_POST['cpu'];
    $_POST['ram'];
    $_POST['hdd'];
    $_POST['fdd'];
    $_POST['cddvd'];
    $_POST['netzwerkkarte'];
    $_POST['grafikkarte'];
    $_POST['monityp'];
    $_POST['monizoll'];
    $_POST['moniname'];
    $_POST['ahardware']; 
    Was soll das denn? Ein echo $update würde dir wohl weiterhelfen. Genauso wie ein mysql_error(), denn MySQL verrät nämlich, wo der Fehler liegt. Man muss halt nur mal fragen.

    Gruß
    Uwe

    Kommentar


    • #3
      Oh mann oh mann...
      Schreib folgendes
      PHP-Code:
      $updaten mysql_query($update) OR die(mysql_error().'<br />'.$update); 
      und lass die mysql Meldungen mal auf dich wirken.
      Dann zeige mir die Seite wo du gesehen hast, dass man es so machen sollte.

      Gruss

      tobi

      ach ja informiere dich bei dem Post auch gleich über register_globals
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        Ich habe deinen Vorschlag übernommen, sehe jedoch keine Änderung.
        Es kommt nichtmal zu einer Fehlermeldung.

        Kommentar


        • #5
          trozdem hast du noch immer nicht gesagt, was das bezwecken soll:
          PHP-Code:
          $_POST['id'];
          $_POST['hostname'];
          $_POST['ip'];
          $_POST['seriennummer'];
          $_POST['marke'];
          $_POST['bezeichnung'];
          $_POST['standort'];
          $_POST['abteilung'];
          $_POST['arbeitsplatz'];
          $_POST['datum'];
          $_POST['mitarbeiter'];
          $_POST['betriebssystem'];
          $_POST['lizenz'];
          $_POST['office'];
          $_POST['antivirus'];
          $_POST['asoftware'];
          $_POST['cpu'];
          $_POST['ram'];
          $_POST['hdd'];
          $_POST['fdd'];
          $_POST['cddvd'];
          $_POST['netzwerkkarte'];
          $_POST['grafikkarte'];
          $_POST['monityp'];
          $_POST['monizoll'];
          $_POST['moniname'];
          $_POST['ahardware']; 
          btw -> echo $update;
          gruß
          peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            Und welche der beiden Meldungen kommt ?
            PHP-Code:
            if($updaten)
                echo 
            "<strong>$hostname</strong> geändert";
            else
                echo 
            "Fehler aufgetreten!"
            Hast du register_globals auf on oder off ?
            PHP-Code:
            echo phpinfo(); 
            und nach register_globals Ausschau halten.

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              Das war eher zum Test. Wenn ich angegeben habe echo $id; gabe es keine Ausgabe
              Habe ich aber echo $_POST['id']; eingegeben bekam ich eine Ausgabe.
              Somit wollte ich mal testen wie es sich damit verhält.

              Kommentar


              • #8
                echo $id; gabe es keine Ausgabe
                Habe ich aber echo $_POST['id']; eingegeben bekam ich eine Ausgabe.
                QED es sind die register_globals...
                Schreib bei den Werten in der Query $_POST['name_des_feldes'] und nicht einfach $name_des_feldes.

                Gruss

                tobi
                Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                Kommentar


                • #9
                  Hi, register_globals sind aus und ich bekomme die Meldung
                  geändert
                  Es wird also der Hostname auch nicht angezeigt.

                  Kommentar


                  • #10
                    hostname = '[COLOR=crimson]%[/COLOR] $hostname[COLOR=crimson]%[/COLOR] '

                    An deinem Script ist so ziemlich alles falsch, was man falsch machen kann.

                    Hast du mysql_error richtog eingebaut? Ein error_reporting(E_ALL); am Anfang eines Scriptes liefert ebenfalls häufig Informationen.

                    Gruß
                    Uwe

                    Kommentar

                    Lädt...
                    X