full outer join 문제 문의 채택완료
아래 소스처럼 디비의 조인기능을 이용해서 데이터를 합쳐서 출력해주려 하는데
데이터값이 불러와지질 않네요 ㅠ
두 테이블 모두에 it_name이라는 컬럼과 일치하는 값들은 있는 상태입니다.
도움 부탁드립니다.
Copy
<?php
$sub_menu = '400400';
include_once('./_common.php');
auth_check($auth[$sub_menu], "w");
$sql = " select * from {$g5['g5_shop_order_table']} a full outer join {$g5['g5_shop_allproductsurl_table']} b on a.it_name=b.it_name ";
$result = sql_query($sql) ;
$row=sql_fetch_array($result);
echo 'test page';
echo $row['b.item_image'];
?>
답변 3개
채택된 답변
+20 포인트
5년 전
$sql = " select * from {$g5['g5_shop_order_table']} a, {$g5['g5_shop_allproductsurl_table']} b where a.it_name=b.it_name ";
echo $sql;
$result = sql_query($sql) ;
$row=sql_fetch_array($result);
=> 매칭되는값만 얻으신다면 Inner join 으로 하셔야 될거 같습니다.
쿼리문을 찍어서 phpmyadmin 이나 sql 을 실행해보세요.
=> 작동하지 않는다면 쿼리가 정상적이지 않을 경우가 많습니다.
=> 디비툴에서 직접실행해보면 오류를 알려주므로 그걸보고 고치시면 됩니다.
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
내가누구야
5년 전
echo $row['b.item_image'];
echo $row['item_image'];
이렇게 호출하시는게 맞을거 같고
$row=sql_fetch_array($result);
요청이면
while ($row=sql_fetch_array($result)) {
}
형태로 호출해보시면 될 겁니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
5년 전
while문을 돌리면 test page라는 내용도 않나오며, 둘다 호출해봐도 분명히 두테이블에 it_name컬럼에 동일내용이 있는데도 아무내용이 호출이 안되네요
내가누구야
5년 전
아래 답변하신 서버제로님 말씀처럼 쿼리문이 정상적인지 확인해보시고 쿼리문이 이상이 없다는 가정이라면 while 문이 동작하지 않을 이유가 없습니다. while 내부에서 test page 라는 문구를 echo 하신다면 쿼리가 단 1개라도 있다면 나와야 하는거죠.
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인