更新联接功能在php中无法正常工作

时间:2018-06-20 09:12:52

标签: php mysql

大家好,我有更新join函数,它将在其中更新该列。

如果我尝试删除公司,它将更改公司的状态,并且如果该公司下有任何用户,则它将用户状态更改为0,直到现在为止。

但是我的问题是我我在该公司下没有任何用户无法使用删除功能。谁能帮我解决这个问题?

如果也没有用户,我想更新公司状态。如果有用户,则必须从两个表中进行更新。

这是我的代码:

<?php 
require('../config.php');
if(!isset($_SESSION['can_access']) || $_SESSION['can_access'] !== true ) 
    header('Location: login.php'); 

global $DB,$USER; 
$userid=$USER->id; 
$deletedon = date('Y-m-d H:i:s'); 
$id = $_GET['id'];; 
$DB->execute("UPDATE {ppc_company}  mpc 
              JOIN  mdl_user mu ON mpc.cid=mu.skype 
              SET mpc.deletedby = '$userid', 
                  mpc.deletedon='$deletedon', 
                  mpc.status= '0',
                  mu.trackforums='0'  
              WHERE mpc.cid = '$id' and mu.skype='$id'"); 

header('Location: ' . $_SERVER['HTTP_REFERER']);
?>

有人可以帮我吗?

谢谢。

1 个答案:

答案 0 :(得分:4)

尝试使用LEFT JOIN代替JOINJOIN默认为INNER JOIN)。 即使联接返回null,这也应该更新主表。