Привет.
Мне нужно из формы сделать апдейт одной строки и скопировать эту же строку с новым id(автоинкремент), но с другим значением поля delivery_date.
Пытался так:
require_once('db.php');
if(isset($_POST['perenos']))
{
$form_id = (int)$_POST['form_id'];
$delivery_adress = strip_tags(trim($_POST['delivery_adress']));
$delivery_time = strip_tags(trim($_POST['delivery_time']));
$delivery_date = strip_tags(trim($_POST['delivery_date']));
$sql = "CREATE TEMPORARY TABLE temp_table AS SELECT * FROM Users WHERE id='$form_id';
UPDATE temp_table SET delivery_adress='$delivery_adress', delivery_time='$delivery_time', delivery_date='$delivery_date' WHERE id='$form_id';
INSERT INTO Users SELECT * FROM temp_table;
DROP TEMPORARY TABLE temp_table;
UPDATE Users SET delivery_status=3, delivery_adress='$delivery_adress', delivery_time='$delivery_time' WHERE id='$form_id'";
$result = mysqli_query($link, $sql);
if ($result) {
header('Location:cargo.php');
}
else {
printf("Ошибка: %s\n", mysqli_error($link));
}
}
На выходе получаем
Ошибка: 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 'UPDATE temp_table SET delivery_adress='Боровицкая', delivery_time='31'' at line 2
Изначально код был только такой и всё прекрасно работало:
UPDATE Users SET delivery_status=3, delivery_adress='$delivery_adress', delivery_time='$delivery_time' WHERE id='$form_id'";
Т.е. я где-то накосячил во временной таблице. Помогите, пожалуйста, первый раз такое делаю.