如果声明PHP(插入数据)

时间:2014-12-28 17:26:55

标签: php mysql session

我必须在数据库中注册客户和/或经理。我只有一个表格的信息,唯一的区别是身份证号码(对经理有效)。客户应将此表格留空。我试图仅使用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();
}

2 个答案:

答案 0 :(得分:1)

您可以通过以下代码直接执行此操作

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

答案 1 :(得分:0)

或类似的东西

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