なぜこれがまったく機能しないのかわかりません。私の理解が間違っているのかもしれません。
これが状況です。
- MVC パターン
- フォーム検証スタッフ
ここにコードがあります
public function userExist($data)
{
$string = "SELECT student_number FROM users WHERE student_number = :user";
$sth = $this->db->prepare($string);
$sth->execute(array(
':user' => $data['user']
));
return $sth->rowCount() == 0 ? true : false;
}
public function validate($data) {
$this->userExist($data);
}
私が望むのは、userExist
メソッドがfalseの場合、「ユーザーが存在する」という文字列を返すことです...しかし、このコードは機能しません:
if($sth->rowCount() == 0) {
return true;
} else {
return "User Already Exists";
}
これは、コントローラーでそれらを呼び出す方法です。
if ($this->model->validate($data) == true) {
$this->model->create($data);
header('Location: '.URL.'users');
} else {
echo $this->model->validate($data);
die();
}
最善の解決策は何だと思いますか?