Я пытаюсь заставить этот запрос работать, но я не могу понять синтаксис правильно, кто-то может помочь?Спасибо
$query="UPDATE users SET upsell2='" .$upsell2. "' upsell1='" .$upsell1."' WHERE email='" .$email."'";
Вам не хватает запятой между двумя столбцами "set":
$query="UPDATE users SET upsell2='" .$upsell2. // add comma here. "', upsell1='" .$upsell1."' WHERE email='" .$email."'";
$query="UPDATE users SET upsell2='$upsell2', upsell1='$upsell1' WHERE email='$email'";
Вам не нужно выполнять конкатенацию строк, если вы просто заполняете строку данными из vars. Однако, использование vars в простом SQL - очень плохая идея, рассмотрите возможность использования подготовленных операторов
И не забудьте экранировать значения (для MySQLi это функция mysqli_real_escape_string), чтобы предотвратить возможные ошибки, вызванные неэкранированными данными.
Похоже, вы пропустили запятую между полями
$query="UPDATE users SET upsell2='" .$upsell2."', upsell1='", .$upsell1."' WHERE email='" .$email."'";
$query = "UPDATE users SET upsell2='" . $upsell2 . "', upsell1='" . $upsell1 . "' WHERE email='" . $email. "'";
Обратите внимание на запятую во второй строке. Вы уверены, что это синтаксическая ошибка PHP, а не синтаксическая ошибка SQL?