在php中使用内部联接更新查询

在php中使用内部联接更新查询,php,mysql,codeigniter,Php,Mysql,Codeigniter,我编写了一个查询,用于使用内部联接更新两个表: function update($student_id,$data){ $email=$data['Email']; $firstname=$data['FirstName']; $sql= "update users u INNER JOIN students s ON u.id= s.user_id SET u.Email='$email', s.Email='$email',

我编写了一个查询,用于使用内部联接更新两个表:

function update($student_id,$data){
    $email=$data['Email'];
     $firstname=$data['FirstName'];

   $sql= "update users u
    INNER JOIN students s ON u.id= s.user_id
    SET u.Email='$email',
        s.Email='$email',
        u.FirstName='$firstname'
    WHERE s.id='$student_id'";
     $result = $this->db->query($sql);
        return $result;
} 

我没有收到任何错误,但我无法更新数据库中的表。

试试这个。

UPDATE u    
  SET u.Email='$email',
       s.Email='$email',
       u.FirstName='$firstname'  
from users u INNER JOIN  students ON s u.id= s.user_id  WHERE s.id='$student_id'

$sql在哪里?回显您的查询并运行phpmyadmin@RakeshSharma ohh在这里用SOecho$sql写的时候犯了一个错误;并在phpmyadmin上运行以使任何行生效?您的WHERE条件超出“”并且您缺少一个,这是你在代码中犯的错误还是在StackOverflow中犯的错误?@Rakeshharma好吧,当我在phpmyadmin上用静态数据尝试这一点时,它起作用了,但当我用发布的数据$student_id尝试这一点时,它不起作用了