我使用一个简单的测试表来尝试调试此错误.
我试着写一个脚本,用户可以更新他们的用户信息,我搜索过但没有找到任何具体的帮助我.
我的测试代码如下:
PHP
if(isset($_POST['submitBtn'])){
//Display Errors
{{ PDO::ATTR_ERRMODE; }}
$db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );
$uname = $_POST['username']; //this displays correct after submit
$userID = $_SESSION['userID']//this prints correctly when user logged in, which he is
$sql="UPDATE USERS SET username =:name
WHERE userID =:uID";
$stmnt= $db->prepare($sql);
$stmnt->bindValue('name', $uname);
$stmnt->bindValue('userID', $userID);
$result = $stmnt->execute();
if($result){
?>
SUCCESS
}//end result
else{
?>
FAIL
}//else
}//isset
错误信息
PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number:
parameter was not defined
最佳答案 遗失:(冒号)
$stmnt->bindValue(':name', $uname);
$stmnt->bindValue(':userID', $userID);