Giriş yap
PDO insert işlemi

Merhaba php ile basit bir insert sorgusu yazdım ama çalışmıyor (aynı sorgu ile başka insert işlemleri yapabiliyorum). Yardımlarınız için şimdiden teşekkürler

if ($password == $password_again) {
    $register_query = $db->prepare("INSERT INTO users SET firstname = :firstname, surname = :surname, username = :username, email = :email, password = :password, gender = :gender, region = :region, date_of_birth = :date_of_birth");
    $insert = $register_query->execute(array(
        "firstname" => $firstname,
        "surname" => $surname,
        "username" => $username,
        "email" => $email,
        "password" => $password,
        "gender" => $gender,
        "region" => $region,
        "date_of_birth" => $date_of_birth
    ));
    if ($insert) {
        header("location:../index.php");
    } else {
        header("location:?error=registration");
}
pcmemo
178 gün önce

ne hata alıyorsun?

Hata almıyorsan alttaki kodu sayafın başına ekle, hatayı gör..

error_reporting(E_ALL);
ini_set("display_errors", 1);

egemennk
178 gün önce

hiç bir hata almıyorum kafayı yicem. Veritanıyla ilgili olabilir mi?

pcmemo
178 gün önce

Yukarıdaki hata mesajını yazarsan mutlaka bir hata alırsın.

header("location:?error=registration"); mı çalışıyor?

yavuzselimblog
178 gün önce

Selamlar else kısmında bir parantez eksik yazmışsın sanırım ek olarak hata almak
istiyorsan şunu yapmalın.

if ($insert->rowCount()) {

    header("location:../index.php");
} else {
    print($insert->errorInfo());
    header("location:?error=registration");
}
yavuzselimblog
178 gün önce

Selamlar else kısmında bir parantez eksik yazmışsın sanırım ek olarak hata almak
istiyorsan şunu yapmalısın.

if ($insert->rowCount()) {

header("location:../index.php");

} else {

print($insert->errorInfo());
header("location:?error=registration");

}

Tekrar yanıtlamak istedim.

yavuzselimblog
178 gün önce

Ve bir cevap daha vereyim

execute kısmındaki bölümlerin başına iki nokta üst üste koyarak yazmayı unutmuşsun yani

":region" => $region,
":date_of_birth" => $date_of_birth

başlarına bu şekilde iki nokta üst üste eklemelisin.

Nasıl akıllıca soru sorulur?
Daha hızlı ve kaliteli cevaplar almak için önce nasıl soru sorulacağını bilmeniz gerekir. Eğer bilmiyorsanız bu yazı serisini okuyun.

Cevap yaz