Jika Anda melakukan ini:
- Membuat atau memuat objek
$o
. - Tetapkan
'12345'
ke properti/kolom yang dimaksud. - Simpan
$o
dan biarkan MySQL memotong nilainya menjadi'1234'
. - Akses properti/kolom di
$o
dan dapatkan'12345'
kembali.
maka Anda melihat salah satu masalah membiarkan database Anda secara diam-diam mengolah data Anda.
Penyimpanan berhasil, objek Anda tidak tahu bahwa MySQL telah memotong data sehingga menyimpan '12345'
sekitar daripada memuat ulang kolom itu dari database, dan Anda memiliki data yang tidak konsisten di tangan Anda.
Jika Anda bergantung pada MySQL secara diam-diam memotong data Anda, maka Anda mungkin harus melakukan ini:
- Buat/muat objek Anda.
- Memperbarui properti.
- Simpan objek.
- Buang referensi lokal Anda ke objek tersebut.
- Muat baru dari database untuk memastikan Anda mendapatkan asli nilai.
Saya akan merekomendasikan menambahkan validasi ketat ke objek Anda untuk menghindari pemotongan diam di dalam MySQL. Mengaktifkan mode ketat juga akan menghindari masalah ini tetapi kemudian Anda perlu meninjau dan memperketat semua penanganan kesalahan dan validasi data Anda (yang sebenarnya bukan hal yang buruk).