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