Tabellen UPDATE heutiges Datum plus 1 Jahr

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

  • BDC
    antwortet
    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 !

    Einen Kommentar schreiben:


  • h3ll
    antwortet
    $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.

    Einen Kommentar schreiben:


  • BDC
    antwortet
    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 ?

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • BDC
    antwortet
    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 ?

    Einen Kommentar schreiben:


  • h3ll
    antwortet
    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.

    Einen Kommentar schreiben:


  • BDC
    antwortet
    das habe ich bereits entfernt.
    Jedoch ist das nicht die Lösung.

    Einen Kommentar schreiben:


  • h3ll
    antwortet
    Was hat das Semikolon nach YEAR verloren?

    Einen Kommentar schreiben:


  • BDC
    hat ein Thema erstellt Tabellen UPDATE heutiges Datum plus 1 Jahr.

    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(); 
Lädt...
X