Semoga saya tidak akan offtopic pada posting pertama saya, tetapi saya ingin sedikit memperluas casting dari integer ke string karena beberapa responden tampaknya salah.
Karena ekspresi dalam kueri ini menggunakan operator aritmatika (simbol plus +), MySQL akan mengonversi string apa pun dalam ekspresi menjadi angka.
Untuk menunjukkan, berikut ini akan menghasilkan hasil 6:
SELECT ' 05.05 '+'.95';
Rangkaian string dalam MySQL membutuhkan fungsi CONCAT () sehingga tidak ada ambiguitas di sini dan MySQL mengubah string menjadi float dan menambahkannya bersama-sama.
Saya benar-benar berpikir alasan kueri awal tidak berfungsi kemungkinan besar karena variabel $ points sebenarnya tidak disetel ke poin pengguna saat ini. Entah itu diatur ke nol, atau tidak disetel: MySQL akan membuang string kosong ke nol. Sebagai ilustrasi, berikut ini akan mengembalikan 0:
SELECT ABS('');
Seperti yang saya katakan, saya harap saya tidak terlalu di luar topik. Saya setuju bahwa Daan dan Tomas memiliki solusi terbaik untuk masalah khusus ini.