【问题标题】:If statement on PHP (inserting data)PHP 上的 if 语句(插入数据)
【发布时间】:2014-12-28 17:26:55
【问题描述】:

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

【问题讨论】:

  • 您面临的问题是什么?你的插入会抛出错误还是没有插入任何东西?
  • 改用isset()empty(),和/或else{...}
  • 仅供参考:== null 不只是检查变量是否为NULL,因为它是loose comparison。它还会检查变量是FALSE0、空数组还是空字符串。
  • 实际上它没有产生任何错误,只是当 SESSION['id'] 为空时它没有保存在我的数据库中。
  • 您应该向我们展示您的完整或更多代码。另外,请确保您的列允许 NULL。另外,您确实启动了会话,并且在所有使用会话的页面内?

标签: php mysql session


【解决方案1】:

你可以通过下面的代码直接实现

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

【讨论】:

    【解决方案2】:

    或者类似的东西

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-31
      • 2015-08-18
      相关资源
      最近更新 更多