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