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:
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
das Komma entfernen, nachdem NOW()‘ Sollte es nicht sein: timegodkend = 'NOW()' WO ordre = '238581' –