php
1$userModel = new \MyApp\Model\User(); 2$user = $userModel->findUser();
php
1// 引数で指定されたユーザのデータを返す 2public function findUser() { 3 $stmt = $this->db->query('select * from users where anumber = "1"'); 4 $stmt->setFetchMode(\PDO::FETCH_CLASS, 'stdClass'); 5 $user = $stmt->fetch(); 6 return $user; 7}
現在このコードで、anumber = "1"
だったらそのユーザのすべての情報を返すようになってるんですが、この条件の数字を引数を使って代入したいんです。
それで、以下のコードに書き直してみました。
php
1$userModel = new \MyApp\Model\User(); 2$user = $userModel->findUser([ 3 "1" 4]);
php
1// 引数で指定されたユーザのデータを返す 2public function findUser($values) { 3 $stmt = $this->db->prepare('select * from users where anumber = :anumber'); 4 $stmt->execute([ 5 ':anumber' => $values 6 ]); 7 $stmt->setFetchMode(\PDO::FETCH_CLASS, 'stdClass'); 8 $user = $stmt->fetch(); 9 return $user; 10}
このように書き換えると、
Notice: Array to string conversion in /Users/hasegawaryou/Dropbox/alpha/lib/Model/User.php on line 86
というエラーが出ます。
Notice: Array to string conversion in /Users/hasegawaryou/Dropbox/alpha/lib/Model/User.php on line 86
というのは、':anumber' => $values
の部分です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/03 02:49
2017/06/03 02:52 編集
2017/06/03 02:52
2017/06/03 02:58
2017/06/03 03:01 編集
2017/06/03 03:05
2017/06/03 04:38
2017/06/03 07:42
2017/06/03 07:48
2017/06/03 07:49
2017/06/03 08:56
2017/06/04 10:59
2017/06/05 04:00