SQL/PHP-语法错误或访问冲突:1064您的SQL语法有错误;
我有一个数据库,我正试图更新其中的一行,但我一直收到这个错误。在以前的一个程序中,我使用了相同的函数,所以我看不出哪里出了问题,这让我发疯!如果有人能看到任何东西或帮助我,将不胜感激 以下是更新功能:SQL/PHP-语法错误或访问冲突:1064您的SQL语法有错误;,php,sql,sql-update,syntax-error,Php,Sql,Sql Update,Syntax Error,我有一个数据库,我正试图更新其中的一行,但我一直收到这个错误。在以前的一个程序中,我使用了相同的函数,所以我看不出哪里出了问题,这让我发疯!如果有人能看到任何东西或帮助我,将不胜感激 以下是更新功能: public function update($member){ if ($member == null){ throw new Exception("Member ID Required"); } $id = $member->getId();
public function update($member){
if ($member == null){
throw new Exception("Member ID Required"); }
$id = $member->getId();
if ($id == null){
throw new Exception("Member ID Required");
}
$sql = "UPDATE member SET
firstName = :firstName,
lastName = :lastName,
dob = :dob,
email = :email,
gender = :gender,
skillLevel = :skillLevel,
Where id = :id";
$params = array(
'id' => $member->getId(),
'firstName' => $member->getFirstName(),
'lastName' => $member->getLastName(),
'dob' => $member->getDOB(),
'email' => $member->getEmail(),
'gender' => $member->getGender(),
'skillLevel' => $member->getSkillLevel(),
);
$stmt = $this->link->prepare($sql);
$status = $stmt->execute($params);
if ($status != true){
$errorInfo = $stmt->errorInfo();
throw new Exception("Could Not Add Member: " . $errorInfo[2]);
}
return $stmt->rowCount();
}
这是它从中获取数据的编辑页面
<?php
require_once('member.php');
require_once('MemberDAO.php');
require_once('editFormValidator.php');
$validator = new editFormValidator();
if ($validator->validate($_POST)){
$i = $_POST['memberID'];
$firstName = $_POST['firstName'];
$lastName = $_POST['lastName'];
$dob = $_POST['dob'];
$email = $_POST['email'];
$gender = $_POST['gender'];
$skillLevel = $_POST['skillLevel'];
$skillLevelString = implode(", ", $skillLevel);
$member = new Member ($i,$firstName, $lastName, $dob, $email, $gender, $skillLevelString);
$dao = new MemberDAO();
$dao->update($member);
header ('Location: viewMember.php');
}
else{
require_once 'editMember.php';
}
?>
这里有一个多余的逗号:
skillLevel = :skillLevel,
skillLevel = :skillLevel,