PHPフレームワークCOdeigniterでPDOドライバーを使用しています。
誰かが「送信」ボタンを押したら実行しなければならないクエリが2つあります。
1つは挿入、次は挿入(問題クエリ)は更新です。
これは私のモデルのコードスニペットです:
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を呼び出す最初のクエリは、問題なく機能します...
次に、&&を使用して1つのelseステートメントで2つのクエリを実行しようとしましたが、2番目のクエリがifステートメントの結果にさえ影響を与えていないようです。
私のコントローラーにはこれらの種類のコードスニペットがたくさん散らばっているので、ここで何が間違っているのかわかりません。そのため、この特定のコードスニペットの問題はわかりません。