• 02-02-2020, 04:46:07
    #1
    ₺ ÜCRETLİ DESTEK --> php-mysql insert 2 tabloya. INSERT with LEFT JOIN TABLE. insert edemedim.

    öncelik merhabalar hayırlı geceler.
    media_table
    id
    titre         (dosya adı)
    url            (md5. dosya_uzantısı: jpeg .png)
    type        (image/jpeg image/png)
    extension    (jpeg png)
    date         2020-01-28 13:31:28
    enabled        1
    
    
    
    image_table
    id
    media_id        (media_table -> id)
    user_id            1
    title            (Kategori -> ÖR: Anlamlı Sözler)
    description
    downloads        0
    created            2020-01-28 13:31:28
    enabled            1
    review            0
    comment            1
    tags
    tablolarım bu şekilde.
    https://www.w3resource.com/mysql/ins...-left-join.php
    bu ornek uzeırnde baya ugarstım dünden bu saate kadar ama bı sonuc alamadım maalesef.

    https://www.phpr.org/pdo-mysql-veritabani-sinifi/
    bu sınıfı kullanıyorum projemde.

    $insert = DB::query('INSERT INTO image_table (media_id, user_id, title, description)
    SELECT media_id, user_id, title, description
    FROM media_table LEFT JOIN id AS media_table ON (image_table.media_id = media_table.id) ')    );
    
    if($insert) {
    echo "+";
    } else {
    echo "-";
    }
    böyle birşey yaptımda iyice kafam karıstı.
    yapmak istediğim şey mutiple resim yukluyorum sunucuya. yukledıkden sonra tek tabloya dosyaları sorunsuz yazdırabılıyorum. ama 2 tabloya yazdırmam gerekıyor. image_table ve media_table tablolarına. yardımcı olabilirseniz çokmemnun olurum. ilginizden dolayı şimdiden çok teşekkür ederim. iyi forumlar




    Ücretli destek icin guncellendi teşekkürler
  • 02-02-2020, 19:46:56
    #2
    Karmaşık problemlerde basit çözümlerle ilerlemenizi tavsiye ederim.
    Yani iki tabloya kayıt eklemeniz gerekiyorsa 2 tabloya ayrı ayrı kayıt ekleyin geçin.
  • 02-02-2020, 20:01:03
    #3
    <?php
    try {
        $dbh = new PDO('mysql:host=localhost;dbname=test', 'root', '');
    
        $media = (object) array(
            'title' => 'Lorem ipsum dolor sit amet',
            'url' => 'file.jpg',
            'type' => 'image/jpeg',
            'extension' => 'jpeg',
            'date' => date('Y-m-d H:i:s'),
            'enabled' => 1
        );
    
        $stmt = $dbh->prepare("INSERT INTO media_table (title, url, type, extension, date, enabled) VALUES(?,?,?,?,?,?)");
    
        try {
            $dbh->beginTransaction();
            $stmt->execute(array_values((array) $media));
            $dbh->commit();
    
            $stmt = $dbh->prepare("INSERT INTO image_table (media_id, title) VALUES(?,?)");
    
            try {
                $stmt->execute(array($dbh->lastInsertId(), $media->title));
    
                exit('Successfully added');
            } catch(PDOException $e) {
                $dbh->rollback();
                exit($e->getMessage());
            }
        } catch(PDOException $e) {
            $dbh->rollback();
            exit($e->getMessage());
        }
    } catch(PDOException $e) {
        exit($e->getMessage());
    }
    ?>
    PDOException fix
  • 03-02-2020, 00:44:08
    #4
    ilginiz için çok teşekkür ediyorum. forum dışı destek ile ücretli bir şekilde haleldildi. cevaplar gelmeyince ilgineilmiyor diye böyle yaptım. birdahakine biraz daha bekleyeceğim. tekrardan ilgilenenlere çok teşekkür ederim