Php 只更新数据库中的一个表

Php 只更新数据库中的一个表,php,mysql,Php,Mysql,每当我执行更新查询时,我的整个表都会更新。当我只想更新一个值时,我该怎么办 以下是我的数据库结构: ID || photo || sequence 1 || test.png || 1 2 || bla.png || 2 每当我执行这个脚本时 if (isset($_POST['submitted'])) { $project = new Project(); $project->sequen

每当我执行更新查询时,我的整个表都会更新。当我只想更新一个值时,我该怎么办

以下是我的数据库结构:

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
那么,我要怎么做才能更新数据库中的
序列
-值而不触及数据库中的其余数据

功能

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);
  }
插入函数

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

基本上,每当您遇到这个问题时,您都在更新表,而不使用任何WHERE子句。如下面的代码所示:

UPDATE myTable SET myField = 'newValue';
在这种情况下,所有存储的记录都将更新为新值

在查询中使用WHERE子句仅更新一条或某些指定记录

UPDATE myTable SET myField = 'newValue' WHERE tableId = 'yourId';

$project->updateProject()函数肯定有问题

尝试使用简单查询:

$qry = "UPDATE tblProject SET sequence = '".$project->sequence."' 
        WHERE ID =".(int)$projectid.";
mysql_query($qry);

我确实在我的
updateProject
-函数中包含了一个
WHERE
子句,不是吗?如果您有,我认为您在运行查询时出现了一些错误。你能检查一下是否有错误吗?好的,我有一个建议。启用常规日志并查看查询。可能在脚本的另一部分中运行了另一个查询。当您看到查询时,您可能能够将其追溯到代码。