2012-12-11 94 views
0

希望這不僅僅是一個錯字,而是我的智慧結局。這種代碼格式和語法適用於我的另一個項目,但我什麼都得不到。使用PHP插入記錄到MySQL準備好的PDO

注1:變量全部填充。我檢查了一個回聲。

注意2:我檢查以確保所有字段名稱都是MySQL表中的實際字段名稱。所有的varchar至少30(我沒有去)。注意3:消息是這樣的:錯誤SQLSTATE [42000]:語法錯誤或訪問衝突:1064您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以在''用戶名','userpassword','personname','familyname'附近使用正確的語法)VALUES('hwilson':,'hwil'at line 1

任何幫助表示讚賞

try { 
    // THIS IS THE SECURE STUFF! 
$sql = "INSERT INTO persons (username, userpassword, personname, familyname) VALUES (:username:,:userpassword,:personname,:familyname)"; 
    $q = $pdo->prepare($sql); 
    $q->execute(array(':username'=>$username, 
         ':userpassword'=>$userpassword, 
         ':personname'=>$personname, 
         ':familyname'=>$familyname)); 
} 
    catch(PDOException $e) 
    { 
     echo "Error " . $e->getMessage(); 
    } 
} 

回答

3

試試這個::username::username

+0

謝謝你們我有預感這是一個錯字後第二個冒號,但。看不到該死的東西。 –

+0

不用擔心,它發生了! – SeanWM

2

似乎有username參數佔位

+0

謝謝!在盯着它20分鐘後感覺像是傻瓜! –