Veritabanı veri aktarım hatası

Timuçib

Decapat
Katılım
8 Mart 2023
Mesajlar
1.351
Çözümler
13
Arkadaşlar merhaba öncelikle. Ben PHP programlama dili ile form oluşturdum ve bunu bir veri tabanına bağladım. Fakat şöyle bir problemle karşılaştım veri tabanımda yazar isminde bir tablom var ve ID, isim, soy_isim olmak üzere 3 değer barındırıyor ilk önce isim değerine veri atadım ve sıkıntısız bir şekilde veri tabanımda gördüm ama isim ve soy_isim olarak iki değere aynı anda veri gönderemiyorum.

Bu şekilde denedim mantığımca doğru geldiği için:

Else if(isset($_post["sbm"]))
{
$Sqlism="insert into yazar(isim)values('".$_post["t1"]."')";
$Sqlsysm="insert into yazar(soy isim)values('".$_post["t2"]."')";
$İsm = mysqli_query($baglan,$sqlsysm,$sqlism);
}

Bu şekilde denedim fakat kodlamadan önce düşündüğüm üzere yeni değer oluşturup içine attı:

Else if(isset($_post["sbm"]))
{
$Sqlism="insert into yazar(isim)values('".$_post["t1"]."')";
$İsm = mysqli_query($baglan,$sqlism);

$Sqlsysm="insert into yazar(soy isim)values('".$_post["t2"]."')";
$Sysm = mysqli_query($baglan,$sqlsysm);
}
 
Son düzenleyen: Moderatör:
Çok hatanız var. Neden 2 defa insert yapıyorsunuz? Ek olarak veri tabanı içinde boşluklu tablo başlık ismi vermeyin.

Ek olarak bu kod SQL Injection yer. Önemli bir işlem için yapıyorsanız güvenlik işlemlerini yapmanız gerekiyor.

Temel hatalarını giderdim. Bu şekilde kendinize göre değiştirin;

PHP:
<?php
 if(isset($_POST["sbm"])){
 $db_query = mysqli_query($db_connect, "INSERT INTO yazar(ad, soyad) values('" . $_POST['t1'] . "','" . $_POST['t2'] . "')");
 }
?>
 
Son düzenleme:
Çok hatanız var. Neden 2 defa insert yapıyorsunuz? Ek olarak veri tabanı içinde boşluklu tablo başlık ismi vermeyin.

Ek olarak bu kod SQL Injection yer. Önemli bir işlem için yapıyorsanız güvenlik işlemlerini yapmanız gerekiyor.

Temel hatalarını giderdim. Bu şekilde kendinize göre değiştirin;

PHP:
<?php
 if(isset($_POST["sbm"])){
 $db_query = mysqli_query($db_connect, "INSERT INTO yazar(ad, soyad) values('" . $_POST['t1'] . "','" . $_POST['t2'] . "')");
 }
?>

İlk kez bu işlemi gerçekleştiriyorum öğrenme amaçlı orada bu işlemin hatalı olduğunu biliyordum sadece denemek istedim kodun üstünde yazıyor zaten buraya yazmamın amacıda bu ve ayrıca dediğim gibi bu bir giriş projesi yani herhangi bir güvenlik kaygım yok kullanılmayacak program database konusuna gelecek olursak form kırmızı işaretlediği için bu simgeyi koydum ( _ ) normalde soyisim öğrenmek istediğim sadece veri tabanındaki isim ve soyisim elemanlarına aynı anda değer atamak.

Çok hatanız var. Neden 2 defa insert yapıyorsunuz? Ek olarak veri tabanı içinde boşluklu tablo başlık ismi vermeyin.

Ek olarak bu kod SQL Injection yer. Önemli bir işlem için yapıyorsanız güvenlik işlemlerini yapmanız gerekiyor.

Temel hatalarını giderdim. Bu şekilde kendinize göre değiştirin;

PHP:
<?php
 if(isset($_POST["sbm"])){
 $db_query = mysqli_query($db_connect, "INSERT INTO yazar(ad, soyad) values('" . $_POST['t1'] . "','" . $_POST['t2'] . "')");
 }
?>
Bağlantı kısmında bazı problemler olduğunu sapladım yanlış kodları kullanmışım sizi meşgul ettiğim için çok özür dilerim ve çok teşekkür ederim.

Şu anda bu şekilde kodlarım:

if (isset($_POST["t1"], $_POST["t2"]))
{

$ism = $_POST["t1"];
$sysm = $_POST["t2"];


$sonuc ="INSERT INTO yazar (isim, soyisim) VALUES ('".$ism."','".$sysm."')";

$gndr= mysqli_query($baglan,$sonuc);

}
 
Son düzenleme:

Yeni konular

Geri
Yukarı