0

希望这不仅仅是一个错字,但我已经束手无策了。这种代码格式和语法适用于我的另一个项目,但我什么也得不到。

注 1:变量均已填充。我用回声检查。

注意 2:我检查以确保所有字段名称都是 MySQL 表中的实际字段名称。所有都是至少 30 的 varchar (我没有过去)。

注意 3:消息是这样的:Error SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; 检查与您的 MySQL 服务器版本相对应的手册,以了解在 ''username'、'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();
    }
}
4

2 回答 2

3

试试这个:username::username

于 2012-12-11T19:56:54.960 回答
2

用户名参数占位符后似乎有第二个冒号

于 2012-12-11T19:57:15.220 回答