クラス間の値の受け渡し方法がよくわかりません。
Userクラスで、値をデータベースに格納し、格納できた行数をrouCount関数で取得して、
Signup.phpでその値がissetされているかどうか調べると、入ってませんでした。
データベースへの格納は成功しています。
どのように書けば、rowCount関数の値を調べられますか?
■User.php
class
1 public function create($values){ 2 $stmt = $this->db->prepare("insert into users(email, password, created, modified) values (:email, :password, now(), now())"); 3 $res = $stmt->execute([ 4 ':email' => $values['email'], 5 ':password' => password_hash($values['password'], PASSWORD_DEFAULT) 6 ]); 7 8 if ($res === false) { 9 throw new \MyApp\Exception\DuplicateEmail(); 10 } 11 12 **$count = $stmt->rowCount();** 13 14 } 15コード
■Signup.php
if($this->hasError()){ return; }else{ // create user try{ $userModel = new \MyApp\Model\User(); $userModel->create([ 'email' => $_POST['email'], 'password' => $_POST['password'] ]); }catch(\MyApp\Exception\DuplicateEmail $e){ $this->setErrors('email', $e->getMessage()); return; } if(isset(**$this->count**)){ header('Location: '.SITE_URL); exit; }else{ header('Location: '.SITE_URL.'/error.php'); exit; { } コード
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/27 05:05