我不断收到一条消息,说数据库查询失败:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本对应的手册,了解在第 1 行的“WHERE id=2”附近使用的正确语法,但我似乎找不到原因。我的用户插入方法工作正常,但无论出于何种原因,我无法通过此更新方法解决此错误:
public function update(){
global $database;
$sql = "UPDATE users SET ";
$sql .= "username='" . $database->escape_value($this->username) ."', ";
$sql .= "password='" . $database->escape_value($this->password) ."', ";
$sql .= "first_name='" . $database->escape_value($this->first_name) ."', ";
$sql .= "last_name='" . $database->escape_value($this->last_name) ."', ";
$sql .= "WHERE id=" . $database->escape_value($this->id);
$database->query($sql);
if($database->affected_rows() == 1){
$message = "success";
}else{
$message = "no " . mysql_error();
}
return $message;
}
最佳答案
WHERE
子句前的最后一个逗号是错误的,改成:
$sql .= "last_name='" . $database->escape_value($this->last_name) ."', ";
到
$sql .= "last_name='" . $database->escape_value($this->last_name) ."' ";
关于php - 数据库查询失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7707410/