2016-03-24 61 views
0

我無法得到此代碼來設置輸入到我的數據庫的形式,我不明白爲什麼。有沒有什麼能幫助我理解你的原因?不能得到PHP PDO發送到數據庫

我試圖用表單從用戶獲得輸入。

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

這裏我運行PHP PDO得到保持在數據庫中,並儘量把用戶輸入到數據庫,但我不明白爲什麼它不工作。我沒有收到任何消息告訴我有什麼不對。

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

你什麼錯誤? – KDOT

+0

錯誤是什麼都沒有發生,我沒有得到任何消息說任何錯誤,它不會把任何東西放到我的數據庫.. –

+0

是在同一頁上的HTML和PHP代碼? – asprin

回答

-1

此外,你缺少結束在您的SQL查詢閉架),它應該是:

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

其實,你不能。 –

+0

哎,這不是很好,我的工作我的可憐的手指打字所有笑@YourCommonSense X) – KDOT

+0

就算我thise改變我沒有得到任何東西添加到我的數據庫黯然 –

1

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

此行不匹配您的SQL

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

你綁定參數必須是:www

+0

即使我做thise改變我沒有得到任何東西添加到我的數據庫黯然 –

+0

是在頁面的頂部把它,對不起,我剛看到別的東西。你的SQL語法不正確,你忘了')': 'INSERT INTO studenter(etternavn,fornavn,klasse,mobil,www,epost) VALUE(:etternavn,:fornavn,:klasse,:mobil,: www::epost)' –