アウトプット中で、ヒントもらいながら作っているのですが、初学者には難しく、ヒントを貰いたいです。
マイページに移動してDBに登録したいのですが、クエりが間違っていて混乱しています
以下関数↓)
function getMyMsgsAndBord($u_id){
debug('自分のmsg情報を取得します。');
//例外処理
try {
// DBへ接続
$dbh = dbConnect();
// まず、掲示板レコード取得 // SQL文作成 $sql = 'SELECT * FROM bord AS b WHERE b.sale_user = :id OR b.buy_user = :id AND b.delete_flg = 0'; $data = array(':id' => $u_id); // クエリ実行 $stmt = queryPost($dbh, $sql, $data); $rst = $stmt->fetchAll(); if(!empty($rst)){ foreach($rst as $key => $val){ // SQL文作成 $sql = 'SELECT * FROM message WHERE bord_id = :id AND delete_flg = 0 ORDER BY send_date DESC'; $data = array(':id' => $val['id']); // クエリ実行 $stmt = queryPost($dbh, $sql, $data); $rst[$key]['msg'] = $stmt->fetchAll(); } } if($stmt){ // クエリ結果の全データを返却 return $rst; }else{ return false; }
} catch (Exception $e) {
error_log('エラー発生:' . $e->getMessage());
}
}
エラー内容)
エラー発生:SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':u_id AND delete_flg = 0' at line 1
Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':id OR b.buy_user = :id AND b.delete_flg = 0' at line 1
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':u_id' at line 1
と三箇所出てます。ヒントよろしくお願いします。