Как написать оператор и в операторе SQL?

0
mysql_query("insert into mytable (flow,holderid,amount,operator,ip,product,taskid,comment)values('-1','$memberid','$sum+5','$memberid','$ip','Expertise','$taskid','Publish a problem or task') ")or die(mysql_error());

Я получаю сообщение об ошибке

'$ сумма + 5'

MySQL не рассматривает его как операцию и операцию, как решить эту проблему?

  • 1
    Просто примечание: плохая идея передавать и объединять переменные таким образом, вы должны рассмотреть возможность параметризации вашего запроса с явным типом данных и допустимыми диапазонами значений.
  • 0
    Откомандирован. Обычно я бы упомянул кое-что о подготовленных запросах в PDO ( us3.php.net/manual/en/pdo.prepared-statements.php ), но, думаю, я был небрежен при написании своего ответа.
Теги:
math

2 ответа

1
Лучший ответ

Если вы хотите, чтобы MySQL выполнял добавление, оставьте одинарные кавычки вокруг добавления; они делают MySQL интерпретировать выражение как строку (так же, как PHP). Если вы хотите, чтобы PHP выполнял добавление, сделайте так, как пишет fucla.

1

Предполагая, что вы используете PHP с MySQL, объедините запрос следующим образом: '".($sum+5)."'

Кроме того, вы хотите поместить фигурные скобки '{$variable}' вокруг ваших переменных, которые остаются в двойных кавычках, иначе он просто прочитает его как текст, который вы хотите вставить, а не переменную.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню