• 13-02-2023, 17:50:46
    #1
    Herkese merhabalar,
    PHP ile tablo adı, kolon adı ve veriler dahil dışarıdan alıp, dinamik olarak gelen veriyi tablolara ekleyen, basit bir "INSERT" fonksiyonu hazırlamak istiyorum ancak mantığı anlayamadım. Örnek bir çalışma sunabilecek, yardımcı olabilecek birileri var mı?

    Şimdiden teşekkür ederim.
  • 13-02-2023, 18:08:37
    #2
    Üyeliği durduruldu
    Bu işlemi yapmak için aşağıdaki adımları takip edebilirsiniz:
    1. Veritabanı bağlantısını oluşturun: Veritabanına bağlanmak için PHP'de kullanabileceğiniz mysqli veya PDO kütüphanelerinden birini kullanabilirsiniz.
    2. İnsert sorgusu oluşturun: Dinamik olarak veri eklemek için, sorgunun tablo ve kolon adını değişken olarak belirleyebilirsiniz
    $table_name = "tablo_adi";
    $column_names = array("kolon_adi_1", "kolon_adi_2", "kolon_adi_3");
    $values = array("deger_1", "deger_2", "deger_3");
    
    $columns = implode(", ", $column_names);
    $placeholders = implode(", ", array_fill(0, count($column_names), "?"));
    
    $query = "INSERT INTO $table_name ($columns) VALUES ($placeholders)";
    1. Veriyi veritabanına ekleyin: Oluşturduğunuz sorguyu veritabanına çalıştırın ve verileri ekleyin.
    $stmt = $conn->prepare($query);
    
    $types = str_repeat("s", count($column_names));
    $stmt->bind_param($types, ...$values);
    
    $stmt->execute();
    ÖRNEK KOD:


    <?php
    
    $servername = "localhost";
    $username = "kullanici_adi";
    $password = "parola";
    $dbname = "veritabani_adi";
    
    // Veritabanı bağlantısı oluşturun
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    if ($conn->connect_error) {
    die("Veritabanı bağlantısı başarısız: " . $conn->connect_error);
    }
    
    $table_name = "tablo_adi";
    $column_names = array("kolon_adi_1", "kolon_adi_2", "kolon_adi_3");
    $values = array("deger_1", "deger_2", "deger_3");
    
    $columns = implode(", ", $column_names);
    $placeholders = implode(", ", array_fill(0, count($column_names), "?"));
    
    $query = "INSERT INTO $table_name ($columns) VALUES ($placeholders)";
    
    $stmt = $conn->prepare($query);
    
    $types = str_repeat("s", count($column_names));
    $stmt->bind_param($types, ...$values);
    
    if ($stmt->execute()) {
    echo "Veriler başarıyla eklendi.";
    } else {
    echo "Veriler eklenirken hata oluştu: " . $stmt->error;
    }
    
    $conn->close();
    
    ?>
  • 13-02-2023, 19:52:41
    #3
    routerteknoloji adlı üyeden alıntı: mesajı görüntüle
    Bu işlemi yapmak için aşağıdaki adımları takip edebilirsiniz:
    1. Veritabanı bağlantısını oluşturun: Veritabanına bağlanmak için PHP'de kullanabileceğiniz mysqli veya PDO kütüphanelerinden birini kullanabilirsiniz.
    2. İnsert sorgusu oluşturun: Dinamik olarak veri eklemek için, sorgunun tablo ve kolon adını değişken olarak belirleyebilirsiniz
    $table_name = "tablo_adi";
    $column_names = array("kolon_adi_1", "kolon_adi_2", "kolon_adi_3");
    $values = array("deger_1", "deger_2", "deger_3");
    
    $columns = implode(", ", $column_names);
    $placeholders = implode(", ", array_fill(0, count($column_names), "?"));
    
    $query = "INSERT INTO $table_name ($columns) VALUES ($placeholders)";
    1. Veriyi veritabanına ekleyin: Oluşturduğunuz sorguyu veritabanına çalıştırın ve verileri ekleyin.
    $stmt = $conn->prepare($query);
    
    $types = str_repeat("s", count($column_names));
    $stmt->bind_param($types, ...$values);
    
    $stmt->execute();
    ÖRNEK KOD:


    <?php
    
    $servername = "localhost";
    $username = "kullanici_adi";
    $password = "parola";
    $dbname = "veritabani_adi";
    
    // Veritabanı bağlantısı oluşturun
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    if ($conn->connect_error) {
    die("Veritabanı bağlantısı başarısız: " . $conn->connect_error);
    }
    
    $table_name = "tablo_adi";
    $column_names = array("kolon_adi_1", "kolon_adi_2", "kolon_adi_3");
    $values = array("deger_1", "deger_2", "deger_3");
    
    $columns = implode(", ", $column_names);
    $placeholders = implode(", ", array_fill(0, count($column_names), "?"));
    
    $query = "INSERT INTO $table_name ($columns) VALUES ($placeholders)";
    
    $stmt = $conn->prepare($query);
    
    $types = str_repeat("s", count($column_names));
    $stmt->bind_param($types, ...$values);
    
    if ($stmt->execute()) {
    echo "Veriler başarıyla eklendi.";
    } else {
    echo "Veriler eklenirken hata oluştu: " . $stmt->error;
    }
    
    $conn->close();
    
    ?>
    İlginiz ve emeginiz için sonsuz teşekkürler, hemen deneyeceğim.