我试图提交更新功能,但由于某些原因它无法正常工作,我无法弄明白为什么......有人这样做了?
更新SQL-SYNTAX:
public function updateProject($db, $id) {
$sql = "UPDATE tblProject SET
name = '".$db->escape($this->name)."',
photo1 = '".$db->escape($this->photo1)."'
WHERE id = '".$id."'";
return $db->insert($sql);
}
INSERT FUNCTION:
public function insert($sql) {
mysql_query($sql, $this->_connection);
return mysql_affected_rows($this->_connection);
}
PHP:
$project = new Project();
$project->name = $_POST['newproject_name'];
$project->photo1 = $_FILES['images']['name'][0];
if($project->updateProject($_DB, $projectname)) {
$feedback = "OK!";
} else {
$feedback = "NOT OK!!";
}
如果您想知道,$project->name
和$project->photo1
已正确填写。
有任何想法吗?我希望我能把你需要的一切都给你,如果没有,请告诉我!
编辑1 :我使用了2个第一个答案,但没有结果。然而...
编辑2 :我也从$feedback
答案 0 :(得分:2)
看起来你在SET关键字后面有一个假的左括号。删除它。
public function updateProject($db, $id) {
$sql = "UPDATE tblProject SET
name = '".$db->escape($this->name)."',
photo1 = '".$db->escape($this->photo1)."'
WHERE id = '".$id."'";
return $db->insert($sql);
}
答案 1 :(得分:1)
public function updateProject($db, $id)
需要传递2个参数,但是当你执行
时if($project->updateProject($_DB))
你只传递1 ??
答案 2 :(得分:1)
您的updateProject
需要两个变量,而第二个变量在您的通话中丢失,导致查询无效。
修改:根据您的修改;我猜测$id
需要是一个整数或一个字符串,你传递一个对象。
您想要更新哪一行?我在PHP代码中没有看到任何定义要修改的行的ID的内容,您只是生成一个新对象,而不是从数据库中获取一个对象。