Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Aktuelles Datum und Uhrzeit mit php in MSSQL DB schreiben

Frage Entwicklung PHP

Mitglied: helmuthelmut2000

helmuthelmut2000 (Level 2) - Jetzt verbinden

09.08.2011 um 18:49 Uhr, 6146 Aufrufe, 13 Kommentare

Hallo,

Ich moechte das das Aktuelle Datum und Uhrzeit bei einem update von einem
php Formular in der MSSQL DB geschrieben wird.

Das DB Feld habe hat das Format date und heist aenderungsdatum.

Wie muss ich das im PHP Formular schreiben?

$sql = "UPDATE Ergebnisse SET aenderungsdatum='".$_POST['????????']."',

Danke.

Gruss
Helmut
Mitglied: Luckyguy
09.08.2011 um 18:56 Uhr
willst du die uhrzeit formatiert mitgeben oder nur im timestamp ich würde timestamp vorschlagen mit der standardfunktion php time() kannst es bestimmen.
Bitte warten ..
Mitglied: Xaero1982
09.08.2011 um 19:10 Uhr
Edit: Huch ist ja MSSQL, wie Arano sagte ... also siehe bei ihm
Bitte warten ..
Mitglied: Arano
09.08.2011 um 19:13 Uhr
Hi,

in MySQL würde ich einfach NOW() im Query verwenden.
Dar dies aber MSSQL ist musste ich kurz suchen um das passende (?) äquivalent zu finden: MSDN - SQL - GETDATE()

Hoffe das hilft


~Arano
Bitte warten ..
Mitglied: helmuthelmut2000
12.08.2011 um 01:32 Uhr
Hallo,

Ich hab jetzt mal folgendes versucht:

aenderungsdatum=CONVERT (varchar(8), getdate(),4)

Warum schreibt es mir da immer nur das Datum und die Zeit ist immer?

00:00:00
Bitte warten ..
Mitglied: helmuthelmut2000
12.08.2011 um 21:18 Uhr
Hallo,

Kannst du mir das etwas besser erklären.
Wie macht man das mit time() ?

Danke
Bitte warten ..
Mitglied: Arano
12.08.2011 um 21:52 Uhr
Nabend,

mit MSSQL habe ich noch nicht gearbeitet, kenne es daher auch nicht.
Aber hier nach: MSDN - SQL - CONVERT() wird durch die Angabe von varchar(8) in deinem Query, das Datetime in eine Zeichenkette konvertiert die nur 8 Zeichen lang ist - ergo muss da etwas fehlen !

2. (Ich meine darauf wurde schon mal hingewiesen ?) Dein Feld "aenderungsdatum" ist vom Type "date", kann dieses auch zusätzlich einen Zeitwert erfassen oder müsste es dafür auf "datetime" geändert werden !?

und 3. bin ich mir nicht sicher ob es möglich ist, dem Dateityp "date" zu sagen wie er das Datum zu speichern hat, das geschieht meines Verständnisses immer nach internen Vorgaben! Daher könntest du auch den dritten Parameter in deiner CONVERT()-Funktion beim Speichervorgang weglassen.

Was geschieht denn wenn du es so versuchst?
01.
<?php 
02.
// zum speichern 
03.
$sql = "UPDATE Ergebnisse SET aenderungsdatum=GETDATE()"
04.
 
05.
// beim auslesen 
06.
$sql = "SELECT CONVERT(varchar, aenderungsdatum, 4) AS formatiertesdatum FROM Ergebnisse"
07.
// kann fehlerhaft sein ! (habe halt nur MySQL-Kenntnisse) 
08.
?>
Hilfreich für dich kann es auch sein, sofern möglich, die Abfragen testweise in einer Konsole auszuführen bzw. von dieser aus zu überprüfen was den nun tatsächlich in die Datenbank gespeichert wird.


~Arano
Bitte warten ..
Mitglied: Biber
12.08.2011 um 22:01 Uhr
Moin helmuthelmut2000,
Zitat von helmuthelmut2000:
Hallo,

Ich hab jetzt mal folgendes versucht:

aenderungsdatum=CONVERT (varchar(8), getdate(),4)

Warum schreibt es mir da immer nur das Datum und die Zeit ist immer?

00:00:00
Was soll der Ärmete denn anderes tun bei deinen Vorgaben?
  • in einen VarChar(8), der einen Datumswert aufnehmen soll, passen doch nur "dd.mm.yy", es sei denn, du stellst Stunden, Minuten und Sekunden in die zweite Reihe.
  • und der style 4, den du explizit verlangst, gibt passend dazu das Format "dd.mm.yy" an. So what? -> works as designed..

Wenn du die Sekunden haben willst, dann verwende den style 120 plus eine angemessene varchar-Länge [yyyy-mm-dd hh:mi:ss(24h)]

Oder hänge an dein "CONVERT (varchar(8), getdate(),4)" noch ein "|| ' ' || CONVERT (varchar(8), getdate(),14)" an.

Grüße
Biber
Bitte warten ..
Mitglied: helmuthelmut2000
12.08.2011 um 22:37 Uhr
Hallo Biber,

mit
CONVERT (varchar(8), getdate(),4)
Wird mir das richtige Datum mit der Uhrzeit 00:00 geschrieben.
mit
CONVERT (varchar(8), getdate(),14)
Wird mir das Datum 01.01.1900 und die richtige Uhrzeit geschrieben.

Wie hänge ich das zusammen?
Muss ich 2 Datenbankfelder machen und diese dann beim ausgeben selectiren zusammen ausgeben?
oder gibts da ein (varchar(??), getdate(),???)
wo beides zusammen gespeichert wird?

Danke.
Bitte warten ..
Mitglied: helmuthelmut2000
12.08.2011 um 22:49 Uhr
Hallo,

OK

jetzt hats geklappt.

Danke.
Bitte warten ..
Mitglied: Biber
12.08.2011 um 22:50 Uhr
Moin helmuthelmut2000,

wie Arano geschrieben hat und auch ich:

  • du kannst mit einem GETDATE()-Aufruf ein DATE-Feld befüllen oder ein Varchar(8)-Feld -> das Ergebnis wird "Datum" sein mit Std/Min/Sek auf "0" gesetzt.
  • oder du kannst mit einem GetDate()-Aufruf in ein Datetime-Feld-Schreiben. Dann hast du auch hh:mm:ss plusMillisekunden und musst es in der Anzeige "nachformatieren"

Was ich geschrieben habe ist:
  • ja, es gibt eine "Zeig mit Datum+Zeitformatierung", nämlich den style 120 (oder ohne Jahrhundertangaben style 20). der beginnt allerdings mit der ISO-Datumsdarstellung "[yy]yy-mm-dd" , die du wahrscheinlich nich möchtest.
  • akzeptabler Kompromiss - brate dir ein Varchar(15)-Feld zusammen aus Datum-als-varchar(8) wie oben plus ein Leerzeichen plus Zeit als Varchar(6). Siehe meinen Kommentar zuvor.

Grüße
Biber
Bitte warten ..
Mitglied: helmuthelmut2000
12.08.2011 um 22:55 Uhr
Mit

(varchar(20), getdate(),113)

sieht das ganz gut aus.
Das geht doch, oder würdest du das nicht nehmen?
Da hab ich Das Datum und die Richtige Uhrzeit.

Gruß
Helmut
Bitte warten ..
Mitglied: Biber
12.08.2011 um 23:06 Uhr
Moin Helmuthelmut2000,

wenn bei dir in diesem Format die im deutschen Sprachraum üblichen Punkte und Leerzeichen an den "richtigen" Stellen sind, dann passt es schon.
Wie erscheint denn eine Ausgabe in diesem Format hier, heute und jetzt?

Grüße
Biber
Bitte warten ..
Mitglied: helmuthelmut2000
13.08.2011 um 01:20 Uhr
Hallo biber,

Das schaut jetzt so aus:

13.08.2011 01:17:31
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Webbrowser
gelöst Daten in entfernte Mysql DB schreiben (3)

Frage von nullacht15 zum Thema Webbrowser ...

Batch & Shell
gelöst In Html-Datei per Batchdatei das Datum und die Uhrzeit eintragen (2)

Frage von Hakiegold zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (27)

Frage von patz223 zum Thema Windows Userverwaltung ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (20)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...