代码之家  ›  专栏  ›  技术社区  ›  Eko Setiawan

如何获取mysql查询影响了哪些记录?(第二条记录、第三条记录或第十条记录)

  •  0
  • Eko Setiawan  · 技术社区  · 7 年前

    在执行“写入”类型查询(插入、更新等)时,显示受影响的行数。

    1 回复  |  直到 7 年前
        1
  •  0
  •   evilReiko    7 年前

    不,你不能。

    一般来说,在PHP中,唯一可能的方法是 运行另一个查询 获取这些行。可能需要获取一个函数

    $this->db->query($q);
    $this->db->affected_rows();// will return "number" of affected rows.
    

    注:正如@ArunVitto所提到的,如果行中没有任何值发生变化,则不会由 affected_rows() .

    所以,你应该这样做:

    $this->db->query('UPDATE `users` SET `status` = 1 WHERE `first_name`="Eko"');
    $total = $this->db->affected_rows();// $total is number of affected rows
    $result = $this->db->query('SELECT * from `users` WHERE `first_name`="Eko"');
    $users = $result->result_array();// The rows after being update