每当我执行更新查询时,我的整个表都会更新。当我只想更新一个值时我必须做什么?
这是我的数据库结构:
ID || photo || sequence
1 || test.png || 1
2 || bla.png || 2
每当我执行这个脚本时,
if (isset($_POST['submitted'])) {
$project = new Project();
$project->sequence = $_POST['sequence'][$key];
$projectid = $_POST['photoid'];
if($project->updateProject($_DB, $projectid)) {
$feedback = "OK";
} else {
$feedback = "NOT OK";
}
}
结果:
ID || photo || sequence
1 || || 4
2 || || 2
那么,我需要做什么才能只更新数据库中的 sequence
值而不触及数据库中的其余数据...
功能:
public function updateProject($db, $id) {
$sql = "UPDATE tblProject SET
sequence = '".$db->escape($this->sequence)."'
WHERE id = '".$id."'";
return $db->insert($sql);
}
插入函数:
public function insert($sql) {
mysql_query($sql, $this->_connection);
return mysql_affected_rows($this->_connection);
}
最佳答案
你的 $project->updateProject()
函数肯定有问题。
尝试简单的查询:
$qry = "UPDATE tblProject SET sequence = '".$project->sequence."'
WHERE ID =".(int)$projectid.";
mysql_query($qry);
关于php - 只更新数据库中的一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8660913/