JSON encode yardım
Merhaba array içindeki verileri json_encode ile formatlarken çıktı alıyorum fakat o çıktıyı veri tabanına kayıt ettiremiyorum veritabanındaki alan türüm json şöyle bir şeyi fark ettim json encode yaparken array içinde url gibi parametlereler mevcut örnek olarak
{"3":{"u_id":"3","u_ismi":"asdas","u_degerlendirme":"0","u_images":"../products/280572029154.jpg","u_aromaid":null,"u_ozellikler":"kasjdkasj","u_aciklama":"
ksjhcasjkhasjk</p>rn","u_fiyat":"12","u_fiyat_alm":"32","u_indirim":null,"u_kategori":"1","u_stokkodu":"as","u_stok":"2","u_satis":null,"u_sergi":"0","u_ctarih":"09/01/2021 08:53","u_dtarih":null,"u_daciklama":null,"u_status":"1","u_ismi_alm":"asjkdhasdjk","u_ozellikler_alm":"askjdhaskjdas","u_aciklama_alm":"
aksjdhajksdhajkd</p>rn","u_kargo":"1","shopier_link":"https://www.codecrew.cc","count":1,"para_birimi":"u20ba","fiyat":"12","toplam":12,"kargo":10},"2":{"u_id":"2","u_ismi":"denmee","u_degerlendirme":"0","u_images":"../products/240162029154.jpg","u_aromaid":null,"u_ozellikler":"deneme","u_aciklama":"
deneme</p>rn","u_fiyat":"12","u_fiyat_alm":"21","u_indirim":null,"u_kategori":"1","u_stokkodu":"DX2345","u_stok":"2","u_satis":null,"u_sergi":"1","u_ctarih":"04/01/2021 10:30","u_dtarih":"04/01/2021 10:31","u_daciklama":null,"u_status":"1","u_ismi_alm":"deneme","u_ozellikler_alm":"deneme","u_aciklama_alm":"
deneme</p>rn","u_kargo":"1","shopier_link":"https://www.codecrew.cc","count":1,"para_birimi":"u20ba","fiyat":"12","toplam":12,"kargo":10}}
çıktı olarak bu tür bir çıktı oluşuyor ve "/" gibi şeyler görüyorum çıktıda veri tabanına alıp direk alana koymak istersemde aynı şekilde hata olarak onları gösteriyor
bunları nasıl düzeltebilirim yardım eder misiniz?
EDİT: kendi sayfamda utf-8 var fakat burda mesela o karakterleri saymıyor kendi sitemde onlar çıktıya ekleniyor
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (7)
genel olarak kontrollerim ve veritabanına insert etme işlemleri alttaki gibi bir hata bulamadım belki gözden kaçırdığım birşey vardır
if(!$_SESSION['login']) {
header("Location: ".site_url());
}else {
$data=array();
$i=0;
$kid = $_SESSION['au_id'];
$_POST = array_map(function($post){
return htmlspecialchars($post);
}, $_POST);
$products = json_encode($_SESSION['shoppingCart'] ['products']);
$summary = json_encode($_SESSION['shoppingCart'] ['summary']);
$total = $_SESSION['shoppingCart'] ['summary'] ['total'];
$siparis_tarihi = date("Y-m-d H:i");
if($_POST['sp_adsoyad'] == "" || $_POST['sp_eposta'] == "" || $_POST['sp_tel'] == "" || $_POST['sp_il'] == "" || $_POST['sp_ilce'] == "" || $_POST['sp_postakodu'] == "" || $_POST['sp_adres'] == "" || $_POST['sp_sartlar'] == "") {
header("Location: ".site_url('cart?respone=null'));
exit;
} elseif(!filter_var($_POST['sp_eposta'], FILTER_VALIDATE_EMAIL)) {
header("Location: ".site_url('cart?response=email'));
exit;
}elseif(strlen($_POST['sp_adres']) < 10) {
header("Location: ".site_url('cart?response=adres'));
exit;
}else {
if($_POST['sp_sartlar'] == "on") {
$sor=$db->prepare("INSERT INTO siparisler SET
sp_adsoyad=:adsoyad,
sp_products=:products,
sp_summary=:summary,
sp_tarih=:tarih,
sp_tutar=:tutar,
sp_eposta=:eposta,
sp_tel=:tel,
sp_il=:il,
sp_ilce=:ilce,
sp_postakodu=:postakodu,
sp_adres=:adres
");
$ins = $sor->execute(array(
'adsoyad' => $_POST['sp_adsoyad'],
'products' => $products,
'summary' => $summary,
'tarih' => $siparis_tarihi,
'tutar' => $total,
'eposta' => $_POST['sp_eposta'],
'tel' => $_POST['sp_tel'],
'il' => $_POST['sp_il'],
'ilce' => $_POST['sp_ilce'],
'postakodu' => $_POST['sp_postakodu'],
'adres' => $_POST['sp_adres']
));
if($ins) {
header('Location: '.site_url('cart?response=access'));
}else {
header('Location: '.site_url('cart?response=denied'));
}
}else {
header("Location: ".site_url('cart?response=sartlar'));
exit;
}
}
}
vallaha eticaret bölümü yazıyordum siteme hiç aklıma gelmemıstı mysql de json tutmak sayende epey ısıme yarayacak
SORUNU DOĞRU ANLADIYSAM
burda bır makale var ısınede yarayacaktır https://www.digitalocean.com/community/tutorials/working-with-json-in-mysql
he birde json_decode yapıyorsun pekı json_encode yapıyormusun.
burada güzel bir öenek var
UPDATE `e_store`.`products`
SET `attributes` = JSON_INSERT(
`attributes` ,
'$.chipset' ,
'Qualcomm'
)
WHERE
`category_id` = 2;