Arama butonu
Bu konudaki kullanıcılar: 1 misafir
4
Cevap
217
Tıklama
0
Öne Çıkarma
php database veri eklemede hata
S
geçen yıl
Er
Konu Sahibi

öncelikle merhaba. php konusunda kodlamanın amacını anlayacak kadar tecrübem var ama yönetecek tecrübeye tam haiz değilim. öğrenme amaçlı localhost da bir veri tabanı kurdum. amacım ürün adı ve ürün fiyatını database e eklemek (şimdilik. daha sonra da bunu listelemeyi ve değiştirmeyi öğreneceğim)

kurduğum veri tabanın adı: satis
iki alt başlık bulunuyor, bunlar urun ve fiyat (tablo)

ekle.php kodları
<html>
<head>
</head>
 
<body>
<form method="POST" action="ekle2.php">
<table border="1" align="center">
<tr>
<td colspan="2" align="center"> Kayıt Ekleme</td>
 
</tr>
<tr>
<td>Ürün Adı</td>
<td><input type="text" name="urun"></td>
</tr>

<tr>
<td>Fiyatı</td>
<td><input type="text" name="fiyat"></td>
</tr>

<tr>
<td></td>
<td><input type="submit" value="Kaydet"></td>
</tr>
</table>
</form>
 
</body>
 
</html>

ekle2.php kodları

<?php
 $urun = $_POST['urun'];
 $fiyat = $_POST['fiyat'];

 
$baglan=mysqli_connect("localhost","root","","satis"); 
mysqli_set_charset($baglan, "utf8");
 
$sql="select urun from satis WHERE urun='$urun'";
 
$sonuc1= mysqli_query($baglan,$sql);
$satirsay=mysqli_num_rows($sonuc1);
 
if ($satirsay>0)
{
echo "Bu Ürün daha önce kaydedilmiş";
 
} else{
$sqlekle="INSERT INTO satis( Ürün, Fiyatı) 
VALUES ('$urun','$fiyat')";
 
$sonuc=mysqli_query($baglan,$sqlekle);
 
if ($sonuc==0)
echo "Eklenemedi, kontrol ediniz";
else
echo "Başarıyla eklendi";
};
 
?>

benim gördüğüm kadarıyla bir hata yok ancak kayıt ekle dediğimde eklenemedi, kontrol ediniz uyarısı alıyorum. database e de veri eklenilmemiş. nerede hata yapıyorum belirtirseniz çok sevinirim.



S
geçen yıl
Er
Konu Sahibi

kendi hatamı kendim buldum :)
ekle2.php de

} else{
$sqlekle="INSERT INTO satis( Ürün, Fiyatı) 
VALUES ('$urun','$fiyat')";

şeklinde olan kodu

} else{
$sqlekle="INSERT INTO satis( urun, fiyat) 
VALUES ('$urun','$fiyat')";

olarak değiştirince kayıt başarıyla tamamlandı. konu kapatılabilir. Teşekkürler



D
geçen yıl
Yarbay

Bu şekilde kodlamaya spagetti kodlama denir.


https://www.youtube.com/watch?v=GOwFVMOJv68

Bu şekilde kodlamayı öğren.

25 önce öyle kodluyoruz diye senin de öyle kodlamana gerek yok.



P
geçen yıl
Yarbay

INSERT işleminde injection saldırısına maruz kalmamak için UTF-8 karakter seti ayarlanarak aşağıdaki fonksiyonun kullanılması şiddetle tavsiye edilir:
https://www.php.net/manual/en/mysqli.real-escape-string.php





< Bu mesaj bu kişi tarafından değiştirildi programmer_onur -- 26 Eylül 2023; 23:12:11 >

< Bu ileti mini sürüm kullanılarak atıldı >

H
5 ay
Yüzbaşı

Saldırı yememek icin prepared statements kullanacak.. En sağlamı odur..



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.