Langsung ke konten utama

Fatal error: Uncaught mysqli_sql_exception: Data too long for column - Penyebab dan Solusinya


Fatal error: Uncaught mysqli_sql_exception: Data too long for column

Kesalahan ini terjadi ketika Anda mencoba memasukkan data yang lebih panjang dari ukuran kolom yang ditentukan di tabel MySQL. Misalnya, jika Anda memiliki tipe data varchar (6), artinya hanya dapat menyimpan 6 karakter. Jika Anda memberikan lebih dari 6 karakter, maka akan muncul kesalahan ini.

Ada beberapa cara untuk mengatasi kesalahan ini, antara lain:

  • Mengubah tipe data kolom menjadi yang lebih besar, seperti varchar (255) atau text.
  • Mengatur mode MySQL agar tidak menggunakan STRICT². Mode ini merupakan kontrol tambahan dari MySQL untuk menghindari memasukkan data yang tidak valid. Namun, cara ini dapat menyebabkan data yang dimasukkan menjadi terpotong atau hilang.
  • Menangkap dan menangani pengecualian mysqli_sql_exception dengan menggunakan blok try-catch. Cara ini memungkinkan Anda untuk mengambil tindakan yang sesuai ketika terjadi kesalahan, seperti memberikan pesan kesalahan yang informatif atau mengubah data yang dimasukkan.

Berikut adalah contoh kode PHP yang menggunakan blok try-catch untuk menangkap dan menangani pengecualian mysqli_sql_exception:

// Koneksi ke database
$mysqli = new mysqli ("localhost", "user", "password", "database");

// Cek apakah ada kesalahan koneksi
if ($mysqli->connect_errno) {
    die ("Gagal terhubung ke MySQL: " . $mysqli->connect_error);
}

// Query untuk memasukkan data ke tabel
$sql = "INSERT INTO tabel (kolom) VALUES (?)";

// Siapkan statement yang aman dari serangan SQL injection
$stmt = $mysqli->prepare ($sql);

// Cek apakah statement berhasil disiapkan
if (!$stmt) {
    die ("Gagal menyiapkan statement: " . $mysqli->error);
}

// Tentukan data yang akan dimasukkan
$data = "Data yang terlalu panjang untuk kolom";

// Ikutkan data ke statement
$stmt->bind_param ("s", $data);

// Jalankan statement
try {
    $stmt->execute ();
    echo "Data berhasil dimasukkan";
} catch (mysqli_sql_exception $e) {
    // Cek apakah kesalahan disebabkan oleh data yang terlalu panjang
    if (str_starts_with ($e->getMessage (), "Data too long for column")) {
        // Tampilkan pesan kesalahan
        echo "Data yang Anda masukkan terlalu panjang untuk kolom";
        // Lakukan tindakan lain yang diperlukan, misalnya memotong data atau meminta input ulang
    } else {
        // Lempar kembali pengecualian untuk ditangani di tempat lain
        throw $e;
    }
}

// Tutup statement dan koneksi
$stmt->close ();
$mysqli->close ();

Komentar

Postingan populer dari blog ini

Fungsi lain tombol penerima panggilan di headset

Kegunaan tombol yang berada di headset utamanya adalah untuk menerima panggilan dan pause panggilan. Dan headset itu sendiri, kadang juga digunakan untuk mendengarkan music, digunakan bersama saat main game, supaya suara yang dikeluarkan oleh gadget tidak terlalu keras sehingga mengurangi beban gadget. Dengan mengurangi beban gadget, ada beberapa yang beranggapan kalau itu akan menghemat batere.

Apa itu index file seperti index.html, index.php kegunaannya dan bagaimana membuat custom nya

Index file adalah file yang berfungsi sebagai halaman utama atau tampilan pertama dari sebuah website. File ini memiliki nama default yang bervariasi, tergantung pada jenis server dan konfigurasinya, namun beberapa nama default yang umum digunakan adalah index.html, index.php, index.jsp, atau index.asp.

Membersihkan cache dan dalvik-cache menggunakan link2sd

Mungkin banyak yang menanyakan kenapa internalnya selalu berkurang free space nya. Padahal tidak menginstall applikasi baru. Hanya melakukan aktifitas normal. Dan sampai pada waktunya, internal memory low dan tidak bisa menambah aplikasi baru lagi.  Ada kemungkinan file cache dari sebuah aplikasi atau dalvik yang dibuat oleh OS android sudah  mulai membengkak. Sehingga perlu di bersihkan secara manual supaya tersedia penyimpanan kosong yang banyak. Sebelum mengetahui cara membersihkan cache dan dalvik cache, kita kupas sekilas apa itu cache dan dalvik cache. Cache adalah sebuah data file sementara yang di hasilkan oleh sebuah applikasi guna mempercepat pemrosesan dimasa yang akan datang (Cache Wikipedia) .  Dalvik-cache adalah ruang kosong sementara yang di pake oleh java virtual machine untuk menjalankan aplikasi android (Dalvik Wikipedia) .