Ankündigung

Einklappen
Keine Ankündigung bisher.

Werte ersetzen?!

Einklappen

Neue Werbung 2019

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

  • Werte ersetzen?!

    Hey Leute,
    Ich habe auf meiner Datenbank eine Tabelle mit nur einer Spalte,
    dort werden regelmäßig Werte eingetragen.
    Meine Frage ist:
    Kann ich im Phpmyadmin das so einstellen dass der vorherige Wert durch den neuen Wert ersetzt wird?
    Wenn ja,Wo und Wie?


  • #2
    Welche Anwendung ergänzt den Wert in der Tabelle? Dort musst du ansetzten -> UPDATE statt INSERT
    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      Eine Tabelle mit nur einer Spalte klingt übrigens stark nach fehlerhaftem Design. (Genau genommen ist es dann ja auch eine Liste.)

      Kommentar


      • #4
        Hab gerade "INSERT" durch "UPDATE" ersetzt nur leider funktioniert es nicht ...

        Kommentar


        • #5
          Ja klar -> Doku!
          Zeig mal die query, was enthält die Tabelle? Kann keinen Primäsrschlüssel haben, solte sie aber wenn du updaten willst etc. etc... (siehe auch was Tropi schreibt).

          LG
          Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
          PHP.de Wissenssammlung | Kein Support per PN

          Kommentar


          • #6
            Das ist der Script:
            PHP-Code:
            $connect mysql_connect("*****""******""****");
            $temp_value $_POST['tmp_schaltung'];

            mysql_select_db("smarthome");
            if(
            $temp_value == "") {
                
            $fail "Du musst etwas eingeben!";
            } else {
                
            $eintrag "UPDATE INTO heizungs_wert
                (value)
                
                Values
                ('
            $temp_value')";
                
            $eintragen mysql_query($eintrag);
                
                if(
            $eintragen == false) {
                echo 
            "FEHLER!";
                }
            mysql_close($connect);
            ?> 
            In der Tabelle stehen nur Ziffer wie 12;5;20...

            Kommentar


            • #7
              Die SQL Syntax ist ja auch falsch, ich verwies bereits auf die Doku. http://dev.mysql.com/doc/refman/5.0/en/update.html

              D.h. du willst genau immer nur einen einzigen "Wert" (a la 12;5;20...) in deiner Tabelle haben? Dann gehören alle andere - bis auf einen - gelöscht und dann das UPDATE-SQL oben korrekt ohne Filter gemacht. Ist aber nicht sonderlich schön, vor allem mit den Semikolon-getrennten Werten sieht das etwas nach DB-fail-Design aus (muss aber nicht sein).

              Anmerkung: Das Ding ist hoffenlich nicht öffentlich erreichbar? Das Ding ist offen wie ein Scheunentor! http://php-de.github.io/jumpto/sql-injection/

              Weiters ist die mysql_ Erweiterung veraltet und wird bald nicht mehr funktionieren. http://php.net/manual/en/migration55.deprecated.php

              Für beide Punkte wäre mysqli oder PDO mit prepared Statemants die Lösung, ansonsten solltest du dir schnellstens auf jeden Fall mysql_real_escape_string() ansehen.

              LG
              Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
              PHP.de Wissenssammlung | Kein Support per PN

              Kommentar


              • #8
                öffentlich ist es nicht..
                aber wie wäre der Syntax denn richtig?

                Kommentar


                • #9
                  Zitat von hausl Beitrag anzeigen
                  12;5;20
                  Nein ^^ ,Das waren nur Beispielziffern

                  Kommentar


                  • #10
                    Öhm, Doku?
                    Code:
                    UPDATE `tab` 
                    SET `col` = 'val'
                    Nein ^^ ,Das waren nur Beispielziffern
                    Deswegen schrieb ich oben auch a la ... das heißt so viel wie "in der Art"
                    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                    PHP.de Wissenssammlung | Kein Support per PN

                    Kommentar


                    • #11
                      Zitat von hausl Beitrag anzeigen
                      "in der Art"
                      Okay dann hab ich auch noch dazu gelernt ^^

                      Kommentar

                      Lädt...
                      X