2014-01-11 54 views
0
$db1 = new PDO('mysql:host=localhost; 
    dbname=jbdb; 
    charset=utf8', 'myname', 'nicetrylol'); 

    //echo $_POST["username"]; test works 
    $username = $_POST["username"]; 
    $password = $_POST["password"]; 
    $password1 = $_POST["password1"]; 
    $email = $_POST["email"]; 

    if ($password == $password1){ 

    $doit = "INSERT INTO 'users'('username', 'password', 'email') 
     VALUES 
     (:username, :password, :email)"; 

    $query = $db1->prepare($doit); 
    $query->execute(array(':username'=>$username, ':password'=>$password, ':email'=>$email)); 



    echo "The passwords match."; 

}PHP表單數據不復制到數據庫

有沒有錯誤,當我測試的形式,我得到適當的回聲,但是當我運行「SELECT * FROM用戶;」在mysql控制檯中,它返回一個空集。我的代碼中是否有語法錯誤?

我意識到我的代碼沒有正確驗證。這只是我學習PDO語法時的一個測試案例。我在windows機器上使用統一服務器運行php 5.5。表中有四列,id設置爲自動遞增。

+0

你怎麼知道有沒有錯誤,當你不檢查任何錯誤值?嘗試將PDO配置爲在錯誤 – MTilsted

回答

2

在引號不要換你的表名或列:

$doit = "INSERT INTO users (username, password, email) 
+1

上拋出異常,並且如果您確實使用'not with' – geryjuhasz