在 PHP 上的 if 语句(插入数据)


If statement on PHP (inserting data)

我必须将客户和/或经理注册到数据库中。我只有一份信息表格,唯一的区别是身份证号码(对经理有效)。客户应将此表格留空。我试图仅使用 if 语句保存数据(如果为空,请将信息保存在costumer表中。如果不是,请保存在 manager 中)。我没有在我的课堂上看到这个,所以我不确定这是否可能。

是否可以使用 if 语句插入数据?我的意思是,我有两个不同的表,但只有一个表单(其中一个表单将决定保存数据

manager表中的数据还可以,但是当我尝试将数据插入costumer时,它不起作用。我不确定我是否可以使用它。

if($_SESSION['id'] != null){
  $sql = "INSERT INTO manager (id,magname,maglname,maguser,magpass) VALUES (?, ?, ?, ?, ?);";
  $sth = $DBH->prepare($sql);
  $sth->bindParam(1, $_SESSION['id'], PDO::PARAM_INT);
  $sth->bindParam(2, $_SESSION['firstname'], PDO::PARAM_INT);
  $sth->bindParam(3, $_SESSION['secondname'], PDO::PARAM_INT);
  $sth->bindParam(4, $_SESSION['username'], PDO::PARAM_INT);
  $sth->bindParam(5, $_SESSION['password'], PDO::PARAM_INT);
  $sth->execute();
}
if(empty($_SESSION['id']){
  $sql = "INSERT INTO costumer (fisrtname,lastname,username,password) VALUES (?, ?, ?, ?);";
  $sth = $DBH->prepare($sql);
  $sth->bindParam(1, $_SESSION['firstname'], PDO::PARAM_INT);
  $sth->bindParam(2, $_SESSION['lastname'], PDO::PARAM_INT);
  $sth->bindParam(3, $_SESSION['username'], PDO::PARAM_INT);
  $sth->bindParam(4, $_SESSION['password'], PDO::PARAM_INT);
  $sth->execute();
}

你可以通过以下代码直接做到这一点

   if(isset($_SESSION['id']))
            $sql = "INSERT INTO `manager`..."
   else
            $sql = "INSERT INTO `customer`..."

或类似的东西

   if(!empty($_SESSION['id']))
          {  $sql = "INSERT INTO `manager`..."}
   else
          {  $sql = "INSERT INTO `customer`..."}