我在 PHP 框架 COdeigniter 中使用 PDO 驱动程序。
一旦有人点击“提交”按钮,我必须运行两个查询。
一个是插入,下一个(问题查询)是更新。
这是我模型中的代码片段:
function studenttime($anum) {
try {
$times = NULL;
$sql = "UPDATE student SET last_visit = :times WHERE anum = :anum";
$time = $this -> db -> conn_id -> prepare($sql);
$time -> bindParam(':times', $times);
$time -> bindParam(':anum', $anum);
$time -> execute();
if ($time -> rowCount() == 1) {
return $time;
}
} catch (PDOException $e) {
error_log($e -> getMessage());
die("An Error Occured, Contact System Admin - Err: SFM136");
}
}
这是我的控制器:
} else {
if ($session = $this -> staff_model -> session($anum, $why, $aidyear, $comments) && $time = $this -> staff_model -> studenttime($anum)) {
$this -> session -> unset_userdata('anum');
$this -> session -> unset_userdata('first');
$this -> session -> unset_userdata('last');
$this -> session -> unset_userdata('aidyear');
$this -> session -> unset_userdata('why');
$this -> session -> unset_userdata('comments');
redirect('staff_controller/studentlogin', 'location');
}
}
在我的模型中调用 $session = session 的第一个查询工作得很好......
然后我尝试使用 && 在一个 else 语句中进行两个查询,但似乎第二个甚至不会影响 if 语句的结果。
我看不出我在这里做错了什么,因为我的控制器到处都是一堆这样的代码片段,所以我看不到这个特定的问题。