2010-12-13 8 views
1

Ich habe zwei Webforms, die verwendet wird, um Bestätigungen von Bestellungen zu verfolgen. Sie interagieren mit derselben MySQL-Datenbank.Update zu mysql Eintrag fehlgeschlagen, kann das Problem nicht identifizieren, wahrscheinlich im Zusammenhang mit einem Zeitstempel

Dies ist die Datenbank: alt text

Die erste Webformular verwendet wird, eine Bestellung durch den Kunden-Service zu registrieren. Sie enthält nur die in den internen Systemen verwendete Bestellnummer und einen Zeitstempel (Timelavet).

Dies ist der Code für die (und es funktioniert):

// Save data 
$mySQLQuery = "INSERT INTO bestilling SET godkendelse = '" . mysql_real_escape_string($_POST['godkendelse']) . "', ordre = '" . mysql_real_escape_string($_POST['ordrenummer']) . "', timelavet = NOW() "; 
$rs = @mysql_query($mySQLQuery); 

Die zweite Form vom Kunden verwendet wird, um die Bestellung zu bestätigen sowie einige zusätzliche Informationen und einen Zeitstempel für die Bestätigung (timegodkend) liefern . Er verwendet die Bestellnummer, um zu ermitteln, welcher DB-Eintrag zu aktualisieren ist:

// Save data 
    $mySQLQuery = "UPDATE bestilling SET kursusleder = '" . mysql_real_escape_string($_POST['kursusleder']) . "', telefonnummer = '" . mysql_real_escape_string($_POST['telefonnummer']) . "', email = '" . mysql_real_escape_string($_POST['email']) . "', godkendelse = '" . mysql_real_escape_string($_POST['godkendelse']) . "', kommentar = '" . mysql_real_escape_string($_POST['kommentar']) . "', timegodkend = NOW() " . "' WHERE ordre = '" . mysql_real_escape_string($_POST['ordre']). "'"; 
    $rs = @mysql_query($mySQLQuery); 

Es funktioniert nicht! Das Komische ist, ich kann es ohne die timegodkend Variable zu arbeiten, aber egal, wo ich die put „‘, timegodkend = NOW() „, es gibt mir eine Fehlermeldung

Der Fehler:

1064: 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 '', WHERE ordre = '238581'' at line 1 When executing: UPDATE bestilling SET kursusleder = 'test1', telefonnummer = '2345678', email = '[email protected]', godkendelse = 'Ja', kommentar = 'test', timegodkend = NOW() ', WHERE ordre = ‘238581’

?

Was stimmt nicht mit dem zweiten Code-Schnipsel

+0

das Komma entfernen, nachdem NOW()‘ Sollte es nicht sein: timegodkend = 'NOW()' WO ordre = '238581' –

Antwort

3

Sieht aus wie Sie ' hier ein zusätzliches unübertroffenes Angebot haben:

. "', timegodkend = NOW() " . "' WHERE ordre = '" . 
          ^
+0

Ding. Hat den Job gemacht. Nächstes Wochenende werde ich RTFM: D – Anders

Verwandte Themen