php - 只更新数据库中的一个表

标签 php mysql

每当我执行更新查询时,我的整个表都会更新。当我只想更新一个值时我必须做什么?

这是我的数据库结构:

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/

相关文章:

php - 在哪里可以找到 phpMyAdmin 的 create_tables.sql?

php - WordPress 自定义数据库表无法识别

mysql - 如果我使用 MS Access 作为前端,MySQL 作为后端,它会有效地工作吗?

php - 使用 Doctrine DQL 插入带有 DateTime 的 mysql 行

php - 使用 PHP 从 MySQL 数据库中选择带有通配符的 IP

javascript - 第一次点击后是否可以更改 iFrame 样式(不在同一域上)

php - While 循环和 mysql_fetch_assoc 在一个查询上?

php - cakephp 内联错误消息 - 缺少数据库连接

mysql - 将 where 子句移至 join 子句是否会提高性能?

php - 计数不能与 UNION 一起正常工作