Masalah dengan SQL insert

Saya nyoba insert 1000 data sekaligus ke table di database. tapi ternyata ga semua data itu berhasil di insert, cuma sampai 997 data saja. hal ini juga terjadi saat saya coba dengan jumlah data yang lain seperti 2000 atau 3000 data.

Jika ini masalah di code, berikut code saya:

$topic = $_POST["list_topic"];
$desc  = $_POST["list_description"];
$words = $_POST["words"]; // Array nya yg ini
$cond  = $_POST["condition"];

$sql = "INSERT INTO `word_list` (`id`, `topic`, `wl_desc`, `cond`)
        VALUES (NULL, '$topic', '$desc', '$cond')";

if ($db->query($sql) === TRUE) {
   $last_id = $db->insert_id;

   foreach($words as $row){
      $sql = "INSERT INTO `word_list_content` (`word_list_id`, `id`, `word_list`)
              VALUES ('$last_id', '$row', '1')";

      $db->query($sql);
   }

   if( !headers_sent() ){
      header("location: word_list.php");
      exit();
   }
} else {
   echo "Error: " . $sql . "<br>" . $db->error;
}

Tolong bantu cari solusi nya. mungkin ada yang tau cara mengatasi ini atau sudah pernah mengalami sebelumnya.

Thanks.

avatar lllBlue
@lllBlue

8 Kontribusi 1 Poin

Dipost 3 tahun yang lalu

Tanggapan

Kalo dari 1000, masuk 997 artinya erornya bukan di phpnya. Kemungkinan erornya bisa di database (constraint) atau di datanya (tidak sesuai database atau kepanjangan). Coba ditulis struktur tabelnya seperti apa, data yg gagal itu seperti apa.

thanks udah reply ka, iya ternyata emang bukan di code nya tapi pada setting di php.ini yang max_input_vars.

nilai default nya 1000, yang perlu saya lakukan tadi hanya ganti 1000 ke nilai yang saya mau.

Oo....paham2. Kurang 3 itu karena kepake $topic, $desc, dan $cond. Sedangkan $word sendiri itu udah 1000. Selamat ya, udah terpecahkan masalahnya, saya malah jadi nambah pengetahuan baru :-)

Belum ada Jawaban. Jadi yang pertama Jawaban

Login untuk ikut Jawaban