Надеюсь, что я не собираюсь оффтоп в моем первом посте, но я хотел бы немного рассказать о преобразовании целого числа в строку, поскольку некоторые респонденты, похоже, ошибаются.
Поскольку в выражении в этом запросе используется арифметический оператор (знак плюса +), MySQL преобразует любые строки в выражении в числа.
Чтобы продемонстрировать, следующее даст результат 6:
SELECT ' 05.05 '+'.95';
Конкатенация строк в MySQL требует функции CONCAT (), поэтому здесь нет двусмысленности, и MySQL преобразует строки в числа с плавающей запятой и складывает их вместе.
Я действительно думаю, что причина, по которой первоначальный запрос не работал, скорее всего, заключается в том, что переменная $ points фактически не была установлена на текущие точки пользователя. Он был либо установлен на ноль, либо не был установлен: MySQL приведет пустую строку к нулю. Для иллюстрации следующее вернет 0:
SELECT ABS('');
Как я уже сказал, надеюсь, я не слишком отклоняюсь от темы. Я согласен с тем, что у Даана и Томаса есть лучшие решения для этой конкретной проблемы.