У меня есть две веб-формы, которые используются для отслеживания подтверждений заказов.Они взаимодействуют с одной и той же базой данных MySQL.
Это база данных:
Первая веб-форма используется для регистрации заказа персоналом службы поддержки клиентов.Он содержит только номер заказа, используемый во внутренних системах, и метку времени (timelavet).
Это код для этого (и он работает):
// 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);
Вторая формаиспользуется клиентом для подтверждения заказа плюс предоставление дополнительной информации И отметка времени для подтверждения (timegodkend).Он использует номер заказа, чтобы определить, какую запись в БД нужно обновить:
// 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);
Не работает!Самое смешное, что я могу заставить его работать без переменной timegodkend, но независимо от того, куда я помещаю ", timegodkend = NOW ()", это выдает мне сообщение об ошибке
Ошибка:
1064: у вас есть ошибка в синтаксисе SQL; проверьте правильность синтаксиса для руководства, соответствующего версии вашего сервера MySQL, рядом с '', WHERE ordre = '238581' 'в строке 1 при выполнении: UPDATEбестолковый SET kursusleder = 'test1', telefonnummer = '2345678', электронная почта = 'a@brygge.dk', godkendelse = 'Ja', комментарий = 'test', timegodkend = NOW () ', WHERE ordre =' 238581 '
Что не так со вторым фрагментом кода?