php - 在 codeigniter 中同时更新两个表

标签 php mysql codeigniter

我有两个表,其中用户是管理员,其信息存储在用户表中,学生信息存储在用户和学生表中,所以当学生根据学生表中的 id 字段更新其表时,如何更新用户表

users

id  | email     |password   |firstname    |user_type
1  abc@gmail.com     dfdf       a            0 //(user)
2  xd@gmail.com      dgg         g       1//(student)
3  sa@ggg.com        fjh         dd          1//(student)     

students
id | email      |firstname |lastname| user_id 
2   xd@gmail.com    dgg      g          2 
3   sa@ggg.com      fgh     dd            3 

和这个更新查询

function update($student_id,$data)
    { 

        $this->db->where(array('id' => $student_id));
        return $this->db->update('students',$data);
    }

最佳答案

您不能使用一个 SQL 语句更新多个表。不过,Codeigniter 确实允许您使用事务。检查一下:

$this->db->trans_start();
$this->db->query('AN SQL QUERY...');
$this->db->query('ANOTHER QUERY...');
$this->db->query('AND YET ANOTHER QUERY...');
$this->db->trans_complete();

这是文档:
https://ellislab.com/codeigniter/user-guide/database/transactions.html

请注意:最好避免重复的内容,例如“名字”列。也许您可以找到另一种没有重复内容的方法。

关于php - 在 codeigniter 中同时更新两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27652169/

相关文章:

php - 分离 PHP 页面,循环遍历 MySQL 表,并创建新的 Div

来自 2 个查找表的 Mysql 查询

php - 如何在 Laravel 中显示注册用户数?

php - 使用 set 减去更新查询中的列值

php - mysqli 每次只工作 else 条件但不工作 if 条件

PHP MySQL - 插入数据时接收邮件

php - 我想检查用户名在注册页面是否可用

javascript - 使用数据表 javascript 服务器端在 php 中发布数据

php - Blade 如何访问自身之外的已定义变量

MySQL 新列在 SELECT 添加,但值没有增加,存储过程