我的更新查询出现问题


issue with my update-query

我正试图提交一个更新函数,但由于某种原因,它不起作用,我不知道为什么。。。是谁?

更新SQL语法:

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);
 }

插入功能:

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:我使用了两个第一个答案,但没有结果。然而
EDIT 2:我也没有从$feedback 得到任何东西

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);
 }
public function updateProject($db, $id)

需要传递2个参数,但当您执行时

if($project->updateProject($_DB))

你只通过了1??

updateProject需要两个变量,而第二个变量在调用中丢失,导致查询无效。

编辑:基于您的编辑;我猜$id需要是一个整数或字符串,您正在传递一个对象。

您到底想更新哪一行?我在php代码中没有看到任何定义要修改的行的ID的内容,您只是在生成一个新对象,而不是从数据库中获取一个。