DBの接続について質問です
商品情報を取得してきたいのですが、SQLがエラーになってしまって進めてません
<<対象のコード>>
**$sql = 'SELECT * FROM product WHERE user_id = :u_id AND p_id = :p_id AND delete_flg = 0';
**
<<エラー文>>
エラー発生: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 ':p_id AND p.delete_flg = 0 AND c.delete_flg = 0' at line 2
です。PHPMyadminに直打ちしたところ、エラーになったのでこの文がおかしいと思うのですが、それともDBのカラムの方がおかしいのか特定したので、ヒントいただけると嬉しいです。
<<全コード>>
function getProduct($user_id, $p_id){ //商品IDを指定してDBから取ってくる処理
debug('商品情報を取得します。');
debug('ユーザーID:'.$user_id);
debug('商品ID:'.$p_id);
//例外処理
try {
//DBへ接続
$dbh = dbConnect();
debug('$dbhの中身:'.print_r($dbh,true));
//SQL文作成
$sql = 'SELECT * FROM product WHERE user_id = :u_id AND p_id = :p_id AND delete_flg = 0';
debug('$sqlの中身:'.print_r($sql,true));
$data = array(':u_id' => $user_id, ':p_id' => $p_id);
debug('$dataの中身:'.print_r($data,true));
//クエリ実行
$stmt = queryPost($dbh, $sql, $data);
if($stmt){ //クエリ結果のデータを1レコード返却 return $stmt->fetch(PDO::FETCH_ASSOC); }else{ return false; }
あなたの回答
tips
プレビュー