Tabellen UPDATE heutiges Datum plus 1 Jahr

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

  • Tabellen UPDATE heutiges Datum plus 1 Jahr

    Hallo Zusammen,

    ich möchte in einer Tabelle ein Datum durch das heutige + 1 Jahr ersetzen.

    mit diesem Syntax will mir das aber nicht gelingen.
    Ich bekomme aber auch keinen Fehler.

    PHP-Code:
    $pdo = new PDO("mysql:host=localhost;dbname=XXX"'root''XXX'); 
    $pdo->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);
     
    $sql $pdo->prepare("UPDATE wartungen SET wartungen_naechste_wartung = DATE(NOW()) + INTERVAL 1 YEAR; WHERE wartungen_id = '$id'");
    $sql->execute(); 

  • #2
    Was hat das Semikolon nach YEAR verloren?

    Kommentar


    • #3
      das habe ich bereits entfernt.
      Jedoch ist das nicht die Lösung.

      Kommentar


      • #4
        Dann bitte ein vollständiges Beispiel inkl. Tabellenstruktur und Testdaten als SQL-Code posten.

        Davon abgesehen bei Datenbankproblemen erstmal PHP weg lassen, das ist hier irrelevant und erschwert nur die Fehlersuche.

        Kommentar


        • #5
          Datenbank-Struktur
          Code:
          'wartungen', 'CREATE TABLE `wartungen` (
            `wartungen_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
            `wartungen_angebot_nr` varchar(45) DEFAULT NULL,
            `wartungen_objekt` varchar(45) DEFAULT NULL,
            `wartungen_postleitzahl` varchar(45) DEFAULT NULL,
            `wartungen_ort` varchar(45) DEFAULT NULL,
            `wartungen_strasse` varchar(45) DEFAULT NULL,
            `wartungen_angebot_vom` varchar(45) DEFAULT NULL,
            `wartungen_projekt_nr` varchar(45) DEFAULT NULL,
            `wartungen_aktiv` varchar(45) DEFAULT '0',
            `wartungen_angeschrieben_am` varchar(45) DEFAULT NULL,
            `wartungen_summe` decimal(10,2) DEFAULT NULL,
            `wartungen_ap_name` varchar(45) DEFAULT NULL,
            `wartungen_ap_telefon` varchar(45) DEFAULT NULL,
            `wartungen_ap_email` varchar(45) DEFAULT NULL,
            `wartungen_geplanter_termin` varchar(45) DEFAULT NULL,
            `wartungen_gekuendigt_zum` date DEFAULT NULL,
            `wartungen_letzte_Wartung` date DEFAULT NULL,
            `wartungen_naechste_Wartung` date DEFAULT NULL,
            `wartungen_erstelltvon` varchar(45) NOT NULL,
            `wartungen_erstelltam` varchar(45) NOT NULL,
            `wartungen_lat` float DEFAULT NULL,
            `wartungen_lng` float DEFAULT NULL,
            `wartungen_status` varchar(45) DEFAULT '0',
            `wartungen_mail` varchar(45) DEFAULT NULL,
            PRIMARY KEY (`wartungen_id`)
          ) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=latin1'

          und wie poste ich die Testdaten ?

          Kommentar


          • #6
            Zitat von BDC Beitrag anzeigen
            und wie poste ich die Testdaten ?
            Ebenfalls als SQL-Code.

            Kommentar


            • #7
              führe ich es in SQL aus, geht es :

              Code:
              UPDATE wartungen SET wartungen_naechste_wartung = ADDDATE(wartungen_naechste_Wartung,INTERVAL 1 YEAR) WHERE wartungen_id = 8;
              Die unten stehende Ausführung in PHP macht aber nichts:

              PHP-Code:
              $sql $pdo->prepare("UPDATE `wartungen` SET `wartungen_naechste_wartung` = ADDDATE(`wartungen_naechste_Wartung`,INTERVAL 1 YEAR) WHERE `wartungen_id` = '$id' ");
              $sql->execute(); 
              Woran kann das liegen ?

              Kommentar


              • #8
                $id ist hier unbekannt, also schon mal verdächtig.

                Davon abgesehen verwendest du prepare() falsch. Variablen sollten nicht direkt in SQL-Abfragen eingefügt werden. Näheres dazu steht im PHP-Handbuch.

                Kommentar


                • #9
                  ich habe es:

                  Code:
                  $sql = $pdo->prepare("UPDATE `wartungen` SET `wartungen_naechste_Wartung` = ADDDATE(wartungen_naechste_Wartung,INTERVAL 1 YEAR) WHERE `wartungen_id` = '$id' ");
                  Vielen Dank !

                  Kommentar

                  Lädt...
                  X