下記のプログラムを実行しようとすると、 function isgoodの$stmt->execute($data);に対してエラー Call to a member function execute() on boolが発生します。
調べてみるとprepareではなくqueryを使っているときにエラーが出た例ばかりで原因がわかりません。
なにかアドバイスをいただければ幸いです。
php
1function getPostData($p_id){ 2 try{ 3 $dbh = new PDO("sqlite:../database/database.sqlite"); 4 $sql = 'SELECT * FROM post WHERE id = :p_id'; 5 $data = array(':p_id' => $p_id); 6 $stmt = $dbh->prepare($sql); 7 $stmt->execute($data); 8 if($stmt){ 9 return $stmt->fetch(PDO::FETCH_ASSOC); 10 }else{ 11 return false; 12 } 13 }catch(Exception $e){ 14 error_log('エラー発生:'.$e->getMessage()); 15 } 16} 17 18 19function getGood($p_id){ 20 21 try { 22 $dbh = new PDO("sqlite:../database/database.sqlite"); 23 $sql = 'SELECT * FROM good WHERE post_id = :p_id'; 24 $data = array(':p_id' => $p_id); 25 $stmt = $dbh->prepare($sql); 26 $stmt->execute($data); 27 return $stmt->fetchAll(); 28 } catch (Exception $e) { 29 error_log('エラー発生:'.$e->getMessage()); 30 } 31} 32 33function isGood($u_id, $p_id){ 34 35 try { 36 $dbh = new PDO("sqlite:../database/database.sqlite"); 37 $sql = 'SELECT * FROM good WHERE post_id = :p_id AND user_id = :u_id'; 38 $data = array( ':p_id' => $p_id, ':u_id' => $u_id); 39 $stmt = $dbh->prepare($sql); 40 $stmt->execute($data); 41 if($stmt->rowCount()){ 42 return true; 43 }else{ 44 return false; 45 } 46 } catch (Exception $e) { 47 error_log('エラー発生:' . $e->getMessage()); 48 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/13 11:08