我正试图提交一个更新函数,但由于某种原因,它不起作用,我不知道为什么。。。是谁?
更新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的内容,您只是在生成一个新对象,而不是从数据库中获取一个。