Синтаксическая ошибка в php - PullRequest
0 голосов
/ 10 августа 2011

Я пытаюсь заставить этот запрос работать, но я не могу понять синтаксис правильно, кто-то может помочь?Спасибо

 $query="UPDATE users SET upsell2='" .$upsell2.
          "' upsell1='" .$upsell1."' WHERE email='" .$email."'";

Ответы [ 5 ]

5 голосов
/ 10 августа 2011

Вам не хватает запятой между двумя столбцами "set":

 $query="UPDATE users SET upsell2='" .$upsell2.
      // add comma here.
      "', upsell1='" .$upsell1."' WHERE email='" .$email."'";
1 голос
/ 10 августа 2011
 $query="UPDATE users SET upsell2='$upsell2', upsell1='$upsell1' WHERE email='$email'";

Вам не нужно выполнять конкатенацию строк, если вы просто заполняете строку данными из vars. Однако, использование vars в простом SQL - очень плохая идея, рассмотрите возможность использования подготовленных операторов

0 голосов
/ 10 августа 2011

И не забудьте экранировать значения (для MySQLi это функция mysqli_real_escape_string), чтобы предотвратить возможные ошибки, вызванные неэкранированными данными.

0 голосов
/ 10 августа 2011

Похоже, вы пропустили запятую между полями

$query="UPDATE users SET upsell2='" .$upsell2."', upsell1='", .$upsell1."' WHERE email='" .$email."'";
0 голосов
/ 10 августа 2011
$query = "UPDATE users SET upsell2='" . $upsell2 .
"', upsell1='" . $upsell1 . "' WHERE email='" . $email. "'";

Обратите внимание на запятую во второй строке. Вы уверены, что это синтаксическая ошибка PHP, а не синтаксическая ошибка SQL?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...