
So, bin schon seit gestern an diesem Problem dran und komme einfach nicht weiter, ich hasse so einen Stillstand!
Ich will eigentlich nur eine Berechnung von 2 Daten tätigen. Das Ergebnis soll mir die Differenz der beiden Daten in Tage ausgeben, mehr nicht..
[CODE]// Variabeln aus dem Formular auslesen und verarbeiten
$von_datum = $_POST['von'];
$bis_datum = $_POST['bis'];
// Liegt ein Versuch von SQL-Injection vor?
$von = quotesqlvar($von_datum); // quotesqlvar setzt einfach ein "/" vor das Wort, damit keine SQL-Injection geschehen kann.
$bis = quotesqlvar($bis_datum);
// Verarbeiten: Es wird mit einem MySQL Befehl die Differenz berechnet.
$differenz = "DATE_SUB('$bis','$von');"; //MySQL Befehl
// Abspeichern in der MySQL Datenbank -- quotesqlvar schützt vor SQL-Injection
$sql_insert = "INSERT INTO Krankheit(Mandant,persnr,differenz,von,bis,bezug) "
."VALUES "
." ('".quotesqlvar($mandant)."','".quotesqlvar($pnr)."', "
." '$differenz','$von', "
." '$bis','$bezug');";
tja, soweit so gut... logisch sollte es funktionieren, aber es funktioniert nicht :(... bräuchte Hilfe :)
Zitat:Das ist die Wiedergabe von mysql_error():
INSERT INTO Krankheit(Mandant,persnr,differenz,von,bis,bezug) VALUES ('','', 'DATE_SUB('05.08.2006','01.08.2006');','01.08.2006', '05.08.2006','0');
Zitat:@Gary:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '05.08.2006','01.08.2006');','01.08.2006', '05.08.2006','0')' at line 1
Code: In Zwischenablage kopieren (nur IE)Jedoch, sobald ich das Formular beende, mittels Submit, und der zweite Teil meines Scripts in Aktion tritt, also die Verarbeitung des Formulars, sind die Variabeln nicht mehr richtig verfügbar, sprich sie haben keine Werte mehr.
Code: In Zwischenablage kopieren (nur IE)
Zitat:Die Fehlermeldung ist doch wohl eindeutig... Ein Blick hierein:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '05.08.2006','01.08.2006');','01.08.2006', '05.08.2006','0')' at line 1
Zitat:Das eine hat aber mit dem anderen erstmal nichts zu tun... Worin besteht denn die Schwierigkeit in deinem SELECT-Statement die Funktion DATEDIFF anzuwenden. Für mich sind es immer noch Prozeßdaten und daher ist es IMHO falsch, wenn du sie in der Datenbank abspeicherst....
Wenn ich die Differenz aber abspeicher, erleichtert es mir die ganze Abfrage im Nachhinein... denn da sind unter anderem auch noch andere daten miteinzubeziehen und aus diesen soll erst einmal die differenz gebildet werden und aus der differenz die summe.
Zitat:Ja, ja, so mit Klammern und so zu rechnen ist nicht so einfach...
Bilden der Summe aus der Differenz ergibt dann halt 14 Tage und diese 14 Tage müssen dann weiterverarbeitet werden. Daher sah ich darin eine Erleichterung in der Verarbeitung der Datenbestände, weil man so ganz leicht kontrollieren kann, ob meine Befehle auch alles richtig verarbeiten.
Zitat:
kann mir denn keiner mehr weiterhelfen?
Zitat:Benni war ja noch lieb. Ich drück mich mal nicht ganz so gewählt aus:
Pah, fast hätt ich geantwortet, aber mit drängeln gibts nix
Zitat:Tut mir leid für mein Drängeln, dieses Forum ist so ziemlich das beste Forum in Sachen Programmierung, Schnelligkeit,etc. Ein Bezahlforum kann ich mir sicherlich nicht leisten und ist auch nicht im geringsten so gut wie dieses hier.dazu kommt, dass ich nicht unter Druck arbeite, aber vlt. hattest du ja schon mal so ne Situation, wo du einfach nicht weiterkamst und alle in andere Threads geantwortet haben, nur nicht in deinem.
Benni war ja noch lieb. Ich drück mich mal nicht ganz so gewählt aus:
Halt mal die Füße still!!! 24/7-Support gibt es nur in Bezahlforen. Falls du so einen Service möchtest, such dir bitte eins! Überleg mal, wo du hier bist. Hier helfen dir Leute kostenlos in ihrer Freizeit!!! Wenn du unter Zeitdruck stehen solltest, ist das nicht unser Problem!!
Zitat:Ich bin nicht aggressiv. Du warst heute nur schon der zweite oder dritte der gedrängelt hat... War halt leider Pech :) Aber du hast es jetzt hoffentlich verstanden...
Und genau dieses Gefühl hatte ich halt. Aber deswegen musst du nicht gleich aggressiv werden, denn das bringt niemanden weiter.