• 14-09-2023, 00:29:08
    #1
    Sunucu Değiştirdim PDO Insert 'lerim gerçekleşmiyor. diğer sunucuda çalışan kodlar bu sunucuda çalışmıyor problem ne olabilir?
  • 14-09-2023, 00:43:47
    #2
    ONURERDGN adlı üyeden alıntı: mesajı görüntüle
    Sunucu Değiştirdim PDO Insert 'lerim gerçekleşmiyor. diğer sunucuda çalışan kodlar bu sunucuda çalışmıyor problem ne olabilir?
    PHP modülü, veritabanı sürümü; güvenlik önlemleri ve yasaklı fonksiyonlar(pek sanmasam da)
  • 14-09-2023, 00:46:22
    #3
    bir ihtimal short open tag <? ?> şeklinde kullanımlar varsa ve short open tag kapalıysa sunucuda ilgili php bölümleri çalışmaz.
  • 14-09-2023, 00:48:04
    #4
    yalinyalniz adlı üyeden alıntı: mesajı görüntüle
    PHP modülü, veritabanı sürümü; güvenlik önlemleri ve yasaklı fonksiyonlar(pek sanmasam da)
    Hocam şimdi fark ettim sanırım güvenlik önlemleri ile alakalı olmalı.

    Tablo örneği
    users

    ad-soyad-şifre-aktif

    insert işlemim
    ---------------
    ad
    soyad
    şifre

    normalde aktif değeri otomatik 0 olarak giriliyordu. Yeni sunucuda bu veri eksik olduğundan insert yapmıyor sanırım .
  • 14-09-2023, 01:12:55
    #5
    try {
    $pdo = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    // Tüm tabloları al
    $stmt = $pdo->query("SHOW TABLES");
    $tables = $stmt->fetchAll(PDO::FETCH_COLUMN);
    // Her tabloyu dolaş
    foreach ($tables as $table) {
    // Her tablonun sütunlarını al
    $stmt = $pdo->query("DESCRIBE $table");
    $columns = $stmt->fetchAll(PDO::FETCH_ASSOC);
    // Her sütunu dolaş
    foreach ($columns as $column) {
    $columnName = $column['Field'];
    $columnType = $column['Type'];
    // INT sütunlarını kontrol et
    if (strpos($columnType, 'int') !== false) {
    // INT sütunu ise, varsayılan değeri 0 olarak ayarla
    $pdo->exec("ALTER TABLE $table MODIFY COLUMN $columnName INT DEFAULT 0");
    echo "Tablo: $table, Sütun: $columnName güncellendi.n";
    }
    }
    }
    echo "İşlem tamamlandı!";
    } catch (PDOException $e) {
    echo "Hata: " . $e->getMessage();
    }

    Hata bu şekilde düzelmiyor.
  • 14-09-2023, 02:52:14
    #6
    Veritabanından veri eklemek istediğin tablodaki sütunların niteliği Not Null olduğu için insert edemiyor olabilir.

    Onun dışında php sürümünden kaynaklı, tablo karşılaştırmalarından kaynaklı enum ve varchar sutünu veriyi kabul etmeyebilir.
  • 14-09-2023, 10:55:12
    #7
    ONURERDGN adlı üyeden alıntı: mesajı görüntüle
    Hocam şimdi fark ettim sanırım güvenlik önlemleri ile alakalı olmalı.

    Tablo örneği
    users

    ad-soyad-şifre-aktif

    insert işlemim
    ---------------
    ad
    soyad
    şifre

    normalde aktif değeri otomatik 0 olarak giriliyordu. Yeni sunucuda bu veri eksik olduğundan insert yapmıyor sanırım .
    Aynı durum benimde başıma gelmişti, gönderilmeyen değerlerin tamamını tespit edip , veritabanından varsayılan değer ataması yaparak çözmüştüm.
  • 17-09-2023, 15:41:46
    #8
    Arkadaşlar herkese yanıtları için teşekkür ederim. Phpmyadmin'in bunun için bir değişkeni mevcutmuş bende bu videoya ulaştım çözümü burada buldum.


    https://www.youtube.com/watch?v=f18x...nel=BassoniaTv