Anladığım kadarıyla dosyanızın her bir satırı ayrı bir json görevi görüyor. Eğer dizi şeklinde olsaydı sizin yönteminiz çalışırdı ama bu durumda her satırı ayrı ayrı okuyup parse etmek gerekiyor. Verdiğiniz örnekten yola çıkarak şöyle bir şey yapabiliriz:
<?php
include 'mysqlBaglanti.php';
$file = new SplFileObject('tek.json');
echo '<pre>';
while (!$file->eof()) {
$veri = json_decode($file->fgets(), true);
if(json_last_error() === JSON_ERROR_NONE) {
$madde_id = $veri['madde_id'];
$kac = $veri['kac'];
$kelime_no = $veri['kelime_no'];
$cesit = $veri['cesit'];
$anlam_gor = $veri['anlam_gor'];
$on_taki = $veri['on_taki'];
$madde = $veri['madde'];
$cesit_say = $veri['cesit_say'];
$anlam_say = $veri['anlam_say'];
$taki = $veri['taki'];
$cogul_mu = $veri['cogul_mu'];
$ozel_mi = $veri['ozel_mi'];
$lisan_kodu = $veri['lisan_kodu'];
$lisan = $veri['lisan'];
$telaffuz = $veri['telaffuz'];
$birlesikler = $veri['birlesikler'];
$font = $veri['font'];
$madde_duz = $veri['madde_duz'];
$gosterim_tarihi = $veri['gosterim_tarihi'];
$sql = "INSERT INTO madde(madde_id, kac, kelime_no, cesit, anlam_gor, on_taki, madde, cesit_say, anlam_say, taki, cogul_mu, ozel_mi, lisan_kodu, lisan, telaffuz, birlesikler, font, madde_duz, gosterim_tarihi) VALUES ('$madde_id', '$kac', '$kelime_no', '$cesit', '$anlam_gor', '$on_taki', '$madde', '$cesit_say', '$anlam_say', '$taki', '$cogul_mu', '$ozel_mi', '$lisan_kodu', '$lisan', '$telaffuz', '$birlesikler', '$font', '$madde_duz', '$gosterim_tarihi')";
if(!mysqli_query($baglan, $sql))
{
die('Error: ' . mysql_error());
}
}
}
$file = null;