• 19-01-2020, 23:54:27
    #10
    Epiwish adlı üyeden alıntı: mesajı görüntüle
    Merhabalar,

    Aşağıdaki kodlarla birlikte ekranda kayit basarili yazısını görüyorum. Fakat veritabanına hiçbir şey kaydedemiyorum. Hiç bir hata mesajı vs yok ama veritabanına hiçbir şey eklenmiyor yinede. Sorun ne olabilir yardımcı olabilir misiniz?


     <?php
    if (isset($_POST["yor_btn"])) {
    $yor_isim = $_POST["yor_isim"];
    $yor_soyisim = $_POST["yor_soyisim"];
    $yor_itself = $_POST["yor_itself"];
    $insert = mysqli_query($connect, "INSERT INTO yorumlar ('yor_isim', 'yor_soyisim', 'yor_itself')
    VALUES ('$yor_isim', '$yor_soyisim', '$yor_itself')");
    echo "kayit basarili";
    }
    ?>
                   $insert = mysqli_query($connect, "INSERT INTO yorumlar (yor_isim,yor_soyisim,yor_itself)
                        VALUES ('$yor_isim', '$yor_soyisim', '$yor_itself')");
    Şeklinde dener misin ? ek olarak db türü nedir ?
  • 20-01-2020, 00:20:26
    #11
    Epiwish adlı üyeden alıntı: mesajı görüntüle
    Kodda gözükenler dışında sadece id var. O da otomatik artıyor, primary






    Bu verdiğiniz kodlar ile şöyle bir hata aldım;
    You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''yor_isim', 'yor_soyisim', 'yor_itself') VALUES ('eeeeeeeee' at line 1

    Bir de yazdığınız bir kısmı şöyle değiştirdim;

    VALUES ('".$yor_isim."', '".$yor_soyisim."', '".$yor_itself."')")or die(mysqli_error($connect));


    Pardon;


    <?php
    if (isset($_POST["yor_btn"])) {
    $yor_isim = $_POST["yor_isim"];
    $yor_soyisim = $_POST["yor_soyisim"];
    $yor_itself = $_POST["yor_itself"];
    $insert = mysqli_query($connect, "INSERT INTO yorumlar (yor_isim, yor_soyisim, yor_itself)
    VALUES ('".$yor_isim."', '".$yor_soyisim."', '".$yor_itself."')");
    echo "kayit basarili";
    }
                   ?>
  • 20-01-2020, 00:35:18
    #12
    ByHazerfen adlı üyeden alıntı: mesajı görüntüle
    $insert = mysqli_query($connect, "INSERT INTO yorumlar (yor_isim,yor_soyisim,yor_itself)
    VALUES ('$yor_isim', '$yor_soyisim', '$yor_itself')");
    Şeklinde dener misin ? ek olarak db türü nedir ?

    Evet bu şekilde yazınca sorun düzeldi kayıt yapıyor şuan. Tam anlayamadım olayı tek sorun buradaki tırnaklar mıydı? Neden böyle bir durumda syntax hatası vs. vermiyor?

    Çok teşekkür ederim vaktiniz için

    $insert = mysqli_query($connect, "INSERT INTO yorumlar ('yor_isim', 'yor_soyisim', 'yor_itself')
  • 20-01-2020, 01:41:32
    #13
    syntax hataları kapalı olabilir ayrıca if kullanımın da yanlış.

    if($insert) olarak kullanmalısın.Orda mysql da herhangi bir hata üretmeden devam ettiği için insertten sonraki satırlarıda derlemeye devam ediyor.
  • 21-01-2020, 00:50:03
    #14
    Öncelikle mevcut kodlarınızda sql injection açığı bulunmaktadır. Muhtemelen bu yüzden hata alıyor olabilirsiniz örneğin içerisinde ' işareti geçen bir şeyi kaydetmeye çalıştığınızda hata alacaksınız.
    SQL Injection için wikipedia da açıldığına göre burayı okuyabilirsiniz: https://tr.wikipedia.org/wiki/SQL_Injection
    Gelelim kodunuzun düzeltilmiş haline;
    <?php 
        $db = new PDO("mysql:host=localhost;dbname=VERITABANI_ISMINIZ","KULLANICI_ADI","SIFRE");
        if (isset($_POST["yor_btn"])) {
            $yor_isim = $_POST["yor_isim"];
            $yor_soyisim = $_POST["yor_soyisim"];
            $yor_itself = $_POST["yor_itself"];
            $query = $db->prepare("INSERT INTO yorumlar ('yor_isim', 'yor_soyisim', 'yor_itself') VALUES (?,?,?)");
            $insert = $query->execute([
                $yor_isim,
                $yor_soyisim,
                $yor_itself
            ]);
            if($insert)
                echo "kayit basarili :)";
            else
                echo "bir hata var :(";
        }
    ?>
    Farkedeceksiniz ki mysqli fonksiyonu yerine pdo kullandım bunun sebebi ise pdo'nun hem kullanımı hem de pdo ile güvenli işlem yapması oldukça kolay. mysqli fonksiyonu kullanarak güvenlik sorunlarını çözmek sadece boşa zaman kaybı olacaktır.
    PDO hakkında bilginiz yoksa korkmayın kullanımı oldukça kolay google'a pdo kullanımı yazabilir ya da buradan başlayabilirsiniz: https://www.php.net/manual/tr/book.pdo.php

    Not: Yardımcı olduysam r10+ vermeyi unutmayın