2016-03-24 14 views
0

Ich kann diesen Code nicht erhalten, um die Eingabe in Form zu meiner Datenbank zu setzen, und ich kann nicht herausfinden, warum. Gibt es welche, die mir helfen können, dich zu verstehen, warum?Kann PHP-PDO nicht an DB senden

Ich versuche, das Formular zu verwenden, um Eingaben vom Benutzer zu erhalten.

<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> 

Hier renne ich den PHP-PDO in der Datenbank zu erhalten halten und versuchen, die Benutzereingaben in die Datenbank gestellt, aber ich kann nicht sehen, warum es nicht funktioniert. Ich bekomme keine Nachrichten, die mir sagen, dass irgendetwas nicht stimmt.

<?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

Welchen Fehler bekommen Sie? – KDOT

+0

der Fehler ist, dass nichts passiert, ich bekomme keine Nachricht, die sagen, dass etwas falsch ist und es nicht zu meiner Datenbank .. –

+0

Ist der HTML-und PHP-Code auf der gleichen Seite? – asprin

Antwort

-1

Auch sind Sie ein Ende fehlt Konsole Abfrage ) in Ihrer SQL schließen, sollte es sein:

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

eingestellt haben In der Tat müssen Sie nicht. –

+0

hey, das war nicht nett, ich arbeitete mein armer Finger, der all das lol @ YourCommonSense x) – KDOT

+0

eintippte, selbst wenn ich thesee Änderungen mache, bekomme ich nichts meiner Datenbank hinzugefügt leider –

1

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

Diese Zeile nicht mit Ihrer SQL passt

"INSERT INTO studenter(etternavn,fornavn,klasse,mobil,www,epost) VALUES (:etternavn, :fornavn, :klasse, :mobil, :www, :epost"

Ihr Bindeparameter muss :www sein

+0

auch wenn ich thesee Änderungen mache ich leider nichts zu meiner Datenbank hinzugefügt –

+0

Ja Entschuldigung, ich habe gerade etwas anderes gesehen. Ihre SQL-Syntax ist nicht korrekt, Sie haben ein ')' vergessen: 'INSERT INTO Student (Äternavn, Fornavn, Klasse, Mobil, WWW, EPOST) WERTE (: etternavn,: fornavn,: klasse,: mobil,: www,: epost) ' –

Verwandte Themen