• 04-08-2018, 23:55:51
    #1
    Merhabalar, localhost'a ve eski çalıştığım sunucuda çalışan scriptim yeni sunucuda çalışmıyor.

    scriptimi ve sunucuyu test etmek için yeni bir tablo oluşturup aşağıdaki sayfayı kaydettim.

    hiçbir hata vermediği halde veritabanına satırı eklemiyor.
    bunun nedeni ne olabilir sizce, yardıcı olursanız sevinirim...



    <?php

    try {
    $db = new PDO('mysql: Host=localhost;dbname=test','root,'root');
    $ad = 'CORC';
    $sonuc=$db->exec("INSERT INTO kullanici(username) VALUES('$ad')");
    echo $sonuc . ' satir eklendi';

    } catch (PDOException $e) {
    echo 'HATA: ' .$e->getMessage();
    }

    ?>


  • 04-08-2018, 23:59:33
    #2
    TH3 adlı üyeden alıntı: mesajı görüntüle

    Hocam
     <?php
    
     try {
     $db = new PDO('mysql: Host=localhost;dbname=test','root','');
     $ad = 'CORC';
     $sonuc=$db->exec("INSERT INTO kullanici(username) VALUES('$ad')");
     echo $sonuc . ' satir eklendi';
    
     } catch (PDOException $e) {
     echo 'HATA: ' .$e->getMessage();
     }
    
     ?>[B][/B]
    Bu şekilde denermisiniz bir..?
  • 05-08-2018, 00:05:56
    #3
    PhYtOnX adlı üyeden alıntı: mesajı görüntüle
    Bu şekilde denermisiniz bir..?

    çalışmadı hocam, sanırım sunucu problemi var çünkü aynı dosya hostta ve localde çalışıyor, sebebi ne olabilir ?
  • 05-08-2018, 00:08:08
    #4
    Böyle deneyebilir misiniz?

    $sonuc=$db->exec("INSERT IGNORE INTO kullanici(username) VALUES('$ad')");
    Edit: ayrıca tablonuzun ismi kullanici mi yoksa kullanici2 mi?
  • 05-08-2018, 00:10:01
    #5
    TH3 adlı üyeden alıntı: mesajı görüntüle

    çalışmadı hocam, sanırım sunucu problemi var çünkü aynı dosya hostta ve localde çalışıyor, sebebi ne olabilir ?
    <?php
     
    try {
    $db = new PDO('mysql: Host=localhost;dbname=test','root','');
    $ad = 'CORC';
    $sonuc=$db->exec("INSERT INTO kullanici2(username) VALUES('$ad')");
    echo $sonuc . ' satir eklendi';
     
    } catch (PDOException $e) {
    echo 'HATA: ' .$e->getMessage();
    }
     
    ?>
    Hocam görseli şimdi gördüm tablo adınız sizin "kullanici2" -- "kullanici" değil bu şekilde denermisiniz tekrardan.
  • 05-08-2018, 00:12:17
    #6
    PhYtOnX adlı üyeden alıntı: mesajı görüntüle
    [PHPR]

    Hocam görseli şimdi gördüm tablo adınız sizin "kullanici2" -- "kullanici" değil bu şekilde denermisiniz tekrardan.
    öyle'de denedim olmadı hocam

    truser adlı üyeden alıntı: mesajı görüntüle
    Böyle deneyebilir misiniz?

    $sonuc=$db->exec("INSERT IGNORE INTO kullanici(username) VALUES('$ad')");
    Edit: ayrıca tablonuzun ismi kullanici mi yoksa kullanici2 mi?
    hocam bu oldu peki bunun sebebi nedir ? bunun gibi yüzlerce tablo ve dosya var. böyle bozuk olanları nasıl görebilir ve çözebilirim acaba ?
  • 05-08-2018, 00:19:20
    #7
    TH3 adlı üyeden alıntı: mesajı görüntüle
    öyle'de denedim olmadı hocam



    hocam bu oldu peki bunun sebebi nedir ? bunun gibi yüzlerce tablo ve dosya var. böyle bozuk olanları nasıl görebilir ve çözebilirim acaba ?
    Öncelikle sizin kodunuzun çalışmama sebebi sütun atlayarak veri göndermeye çalışmanız yani sizin 'kullanici' tablonuzda 2 sütun var 'username' ve 'password' ama siz veri eklerken sadece 'username' ekleyerek veri gönderiyorsunuz o yüzden hata veriyor.

    IGNORE kullanınca çalışmasının sebebi ise bu hatayı görmezden geliyor : )



    Edit: Bunun sebebi sunucuda strict_mode açık olması.