Entwickler-Ecke
Programmiersprachen (Server) - String in Date konvertieren in PHP
Testobjekt - Fr 19.02.16 22:42
Titel: String in Date konvertieren in PHP
Hallo!
Ich versuche einen String in Java mittels PHP in eine MySQL Datenbank zu liefern. Dies funktioniert bereits, jedoch will ich einen String($Datum) in
ein Date Format in die Datenbank schreiben. Der String sieht bereits so aus: YYYY-MM-DD
Jedoch weiß ich nicht wie ich in PHP dies realisiere?
PHP-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| <?php if($_SERVER['REQUEST_METHOD']=='POST'){ $Titel = $_POST['Titel']; $Beschreibung = $_POST['Beschreibung']; $Datum =date("Y.m.d"$_POST[,'Datum']); $Uhrzeit = $_POST['Uhrzeit'];
$sql = "INSERT INTO termine (Titel,Beschreibung,Datum,Uhrzeit) VALUES ('$Titel','$Beschreibung','Datum','Uhrzeit')"; require_once('dbConnect.php'); if(mysqli_query($con,$sql)){ echo 'Terminanfrage wurde gesendet'; }else{ echo 'Terminanfrage wurde nicht gesendet'; } mysqli_close($con); } |
Weiß jemand wie dies funktioniert? lg
Moderiert von Narses: Code- durch PHP-Tags ersetztModeriert von Narses: Topic aus Delphi4PHP-Technologien verschoben am Fr 19.02.2016 um 22:17
Narses - Fr 19.02.16 23:16
Moin!
Ich würde das mal so probieren:
PHP-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| if ($_SERVER['REQUEST_METHOD'] == 'POST') { $Titel = $_POST['Titel']; $Beschreibung = $_POST['Beschreibung']; $Datum = $_POST['Datum']; $Uhrzeit = $_POST['Uhrzeit'];
$query = "INSERT INTO termine (Titel,Beschreibung,Datum,Uhrzeit) VALUES ('$Titel','$Beschreibung','$Datum','$Uhrzeit')"; require_once('dbConnect.php'); if (mysqli_query($con, $query)) { echo 'Terminanfrage wurde gesendet'; } else { echo 'Terminanfrage wurde nicht gesendet'; }
mysqli_close($con); } |
Aaaaber! :shock: Du solltest dich mal dringend mit
dieser Funktion [
http://php.net/manual/de/mysqli.real-escape-string.php] beschäftigen! :mahn:
cu
Narses
Testobjekt - Fr 19.02.16 23:39
Das der String gleich im richtigen Format in die Datenbank geschrieben wird war ja mein erster Gedanke, funktioniert leider nicht. Beim Debuggen stehts auch in der Variable auch richtig drinnen zB 2016-11-16.
Ist dieser OOStil pflicht? Oder ist es möglich meinen Code zu verwenden - wenns möglich ist würde ich es nämlich so behalten und nur Datum/Uhrzeit konvertieren. :D
Narses - Fr 19.02.16 23:51
Moin!
Testobjekt hat folgendes geschrieben : |
Das der String gleich im richtigen Format in die Datenbank geschrieben wird war ja mein erster Gedanke, funktioniert leider nicht. |
Was heißt denn "funktioniert nicht"?! :gruebel: Der Computer stürzt ab, die Welt geht unter, das Universum kollabiert in eine Singularität - und das wohlgemerkt ohne jegliche Fehlermeldung? :lupe: :nixweiss: :zwinker:
Testobjekt hat folgendes geschrieben : |
Beim Debuggen stehts auch in der Variable auch richtig drinnen zB 2016-11-16. |
Interessanter wäre, was im SQL-String landet... ?
Testobjekt hat folgendes geschrieben : |
Ist dieser OOStil pflicht? |
Was für ein OO-Stil? :suspect: Für mich sieht das wie prozedural aus... :?
Testobjekt hat folgendes geschrieben : |
Oder ist es möglich meinen Code zu verwenden - wenns möglich ist würde ich es nämlich so behalten |
Es ist dein Code... :les: (nur ohne Syntaxfehler :P)
Testobjekt hat folgendes geschrieben : |
und nur Datum/Uhrzeit konvertieren. :D |
Was denn nun, wird das Datum jetzt korrekt übergeben oder nicht?! :nut:
cu
Narses
Testobjekt - Sa 20.02.16 00:04
Also wenn ich meinen "Termin erstelle" wird der Titel und die Beschreibung in die Datenbank geschrieben, Datum und Uhrzeit bleibt da leer.
Also sprich 0000-00-00 und 00:00:00
Wie kann ich das überprüfen was im SQL String steht? Ich kann ja nur bis zum Ausgang vor der PHP Anweisung nachsehen was in der Variable ist?
Und da Titel und Datum der exakt gleiche Code in Java ist, sollte der String auch definitiv im SQL Befehl landen..^^
Ich meinte "ob ich lieber den OO Stil verwenden sollte." :wink:
Mein Ziel ist es das Datum (nebenbei geht das mit der Uhrzeit auch nicht aber wird ähnlich gleich zu lösen sein) zu konvertieren, damit es in die Datenbank kommt - wie soll mir egal sein. :gruebel:
Jedoch bin ich nur ein PHP Laie und hab da so meine Probleme.
Narses - Sa 20.02.16 00:10
Moin!
Testobjekt hat folgendes geschrieben : |
Also wenn ich meinen "Termin erstelle" wird der Titel und die Beschreibung in die Datenbank geschrieben, Datum und Uhrzeit bleibt da leer.
Also sprich 0000-00-00 und 00:00:00 |
Soll heißen, es gibt keine Fehlermeldung oder Warnung? :lupe:
Testobjekt hat folgendes geschrieben : |
Wie kann ich das überprüfen was im SQL String steht? |
PHP-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| if ($_SERVER['REQUEST_METHOD'] == 'POST') { var_dump($_POST); $Titel = $_POST['Titel']; $Beschreibung = $_POST['Beschreibung']; $Datum = $_POST['Datum']; $Uhrzeit = $_POST['Uhrzeit'];
$query = "INSERT INTO termine (Titel,Beschreibung,Datum,Uhrzeit) VALUES ('$Titel','$Beschreibung','$Datum','$Uhrzeit')"; echo $query.'<br>'; |
Und dann bitte mal die Ausgaben hier reinsetzen. :les:
Testobjekt hat folgendes geschrieben : |
Ich meinte "ob ich lieber den OO Stil verwenden sollte." |
Ach so. ;) Nö, das ist grundsätzlich egal, wenn du lieber prozedural haben willst, dann halt so. :nixweiss:
Testobjekt hat folgendes geschrieben : |
Mein Ziel ist es das Datum (nebenbei geht das mit der Uhrzeit auch nicht aber wird ähnlich gleich zu lösen sein) zu konvertieren |
Du hast doch gesagt, die Werte kommen bereits im MySQL-Format im Post-Array an, was willst du dann noch konvertieren? :gruebel:
cu
Narses
Testobjekt - Sa 20.02.16 00:27
Nichts dergleichen keine Fehlmeldung.
Weil ich dachte das ich es konvertieren muss da meine Anstellungen nicht funktionierten.
Narses - Sa 20.02.16 00:35
Moin!
Du hast die SQL-Query-Variable nicht in $query umbenannt, also kann die Ausgabe nicht erfolgen. :idea: Das musst du nochmal anpassen. ;)
Aber das Datum sieht aus wie ein MySQL-Datumsformat, das sollte also passen. Zeig doch nochmal zusätzlich deine Tabellen-Deklaration. :les:
cu
Narses
Testobjekt - Sa 20.02.16 00:41
Hoppla :roll:
Ok das sagt definitiv schon mehr aus..
EDIT: ich hatte $ bei Datum Uhrzeit weggelassen, komisch, jetzt kommt das hier:
Testobjekt - Sa 20.02.16 00:54
Ich glaub ich spinne, jetzt funktionierts. :nixweiss:
Ich hab anscheinend wirklich nur das öde Dollarzeichen vergessen, das kann doch nicht wahr sein :D
Testobjekt - Sa 20.02.16 00:58
Vielen Dank Narses!
Ich war mir zwar sicher das ich die Syntax kontrolliert hatte, aber manchmal spielt einem das Gehirn wohl Streiche. shame on me :oops:
solved.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!