2016-03-24 8 views
0
adresine gönderilmesini sağlayın

Bu kodu, formdaki girdiyi veritabanıma ayarlamak için alamıyorum ve nedenini anlayamıyorum. Neden olduğunu anlamama yardımcı olabilecek bir şey var mı?PHP PDO'nun DB

Kullanıcıdan giriş almak için formu kullanmaya çalışıyorum. İşte

<form action="" method="post"> 
    Etternavn:<br> 
    <input type="text" name="etternavn" id="etternavn" placeholder="Etternavn"><br> 
    Fornavn:<br> 
    <input type="text" name="fornavn" id="fornavn" placeholder="Fornavn"><br> 
    Klasse:<br> 
    <input type="text" name="klasse" id="klasse" placeholder="Klasse"><br> 
    Mobil:<br> 
    <input type="text" name="mobli" id="mobil" placeholder="Mobil"><br> 
    Nettside:<br> 
    <input type="text" name="www" id="www" placeholder="Nettside"><br> 
    Epost:<br> 
    <input type="email" name="epost" id="epost" placeholder="Epost"> 
    <input type="submit" name="submit" value="Submit"> 
</form> 

ben veritabanında tutmak olsun ve veritabanına kullanıcı girişi koymak için denemek için PHP PDO koşuyorum ama çalışmıyor neden göremiyorum. Bana bir şeylerin yanlış olduğunu söyleyen hiçbir mesaj alamıyorum. Ayrıca

<?php 


if (isset($_POST["submit"])){ 
    $host = "kark.hin.no"; 
    $dbname = "stud_v16_klemetsen"; 
    $username = "v16_klemetsen"; 
    $password = "**********"; 

    try { 
     $dbh = new PDO("mysql:host=$host;dbname=$dbname",$username,$password); 
     $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 
     $q = $dbh->prepare("INSERT INTO studenter(etternavn,fornavn,klasse,mobil,www,epost) 
     VALUES (:etternavn, :fornavn, :klasse, :mobil, :www, :epost"); 
     $q->bindParam(':etternavn',$_POST['etternavn'],PDO::PARAM_STR); 
     $q->bindParam(':fornavn',$_POST['fornavn'],PDO::PARAM_STR); 
     $q->bindParam(':klasse',$_POST['klasse'],PDO::PARAM_STR); 
     $q->bindParam(':mobil',$_POST['mobil'],PDO::PARAM_STR); 
     $q->bindParam(':adr',$_POST['www'],PDO::PARAM_STR); 
     $q->bindParam(':epost',$_POST['epost'],PDO::PARAM_STR); 
     $q->execute(); 

     $q->execute(); 
     echo "succssfull"; 

    } 
    catch (PDOException $e){ 
     echo "ERROR" . $e->getMessage(); 
    } 
    $dbh = null; 
} 
?> 
+0

Hangi hata ile karşılaşıyorsunuz? – KDOT

+0

hata bir şey olmuyor, bir şey yanlış olduğunu söyleyen herhangi bir mesaj alamadım ve bu benim veritabanına herhangi bir koyma .. –

+0

HTML ve PHP kodu aynı sayfada mı? – asprin

cevap

-1

, SQL sorgusunda braket ) kapanış sona kaçırıyoruz, bu olmalıdır:

$sql = "INSERT INTO studenter(etternavn,fornavn,klasse,mobil,www,epost) 
     VALUES (:etternavn, :fornavn, :klasse, :mobil, :www, :epost)"; 
$q = $dbh->prepare($sql); 
+0

formunda herhangi bir eylem belirlemediniz. –

+0

hey bu güzel değildi, ben tüm bu lol @YourCommonSense x) – KDOT

+0

yazarak benim zavallı parmağımı yazdım bile bu hatayı değiştirirseniz bile veritabanına eklediğim bir şey alamadım –

1

$q->bindParam(':adr',$_POST['www'],PDO::PARAM_STR);

Bu satır SQL ile eşleşmeyen

Bağlantı parametreniz :www

+0

Bunu yapsam bile değişiklikler yapmam benim veritabanına ne yazık ki ekleyemedim –

+0

Evet Üzgünüm, sadece başka bir şey gördüm. SQL Syntax ürününüz doğru değil, ''unuttum' '': 'INSERT INTO studenter (etternavn, fornavn, klasse, mobil, www, epost) DEĞERLER (: etternavn,: fornavn,: klasse,: mobil,: www,: epost) –