그누보드 mysql연결질문드립니다.
본문
안녕하세요 php 공부하고 있는 학생입니다.
생활코딩의 강의와 교재를 통해 php 공부를 하고 있는데 그누보드5에서 연결하는 mysql접속하는 코드가 달라서 어떻게 수정해야 할지 모르겠습니다.
제가 알고 있는 지식은,
$sql = "select * from board where b_code = $code";
$result = mysqli_result($connect,$sql);
while($row=mysqli_fetch_array($result))
{
내용
}
이런 식으로 알고 있었습니다만 그누보드에선 쿼리문 작성하고 sql_query($sql)이런형식으로 되어있어서 많이 헷갈려 하고있습니다.
가령 g5_write_gallery 에서 추가설정한 컬럼 wr_1의 값을 class테이블에 있는 컬럼class_code의 값에 조인시킬려고 하는 과정을 제가 배웠던것을 이용하면
SELECT cs . *
FROM class AS cs
JOIN g5_write_gallery AS gg ON gg.wr_1 = cs.class_code
이렇게 하는걸로 알고있는데 그누보드5에서는 어떻게 써야하나요?
아직 완벽하게 그누보드5를 분석을 하지못해서 질문드려봅니다...
!-->!-->답변 1
$sql = "
SELECT cs . *
FROM class AS cs
JOIN g5_write_gallery AS gg ON gg.wr_1 = cs.class_code
";
$result = sql_query($sql);
while($row = sql_fetch_array($result)) {
내용
}
그누보드에서 sql_query(), sql_fetch() 등은 사용자 함수입니다.
/lib/common.lib.php 의 파일에서 sql_query(), sql_fetch(), sql_fetch_array() 등의 함수 정의된 내용을 살피면
그 안에서는 mysqli_query(), mysqli_fetch_assoc() 등을 사용하는 것을 알 수 있습니다.
이를 보통 wrapper 함수라고 부르기도 합니다.
이는, 사용자 편의성의 이유도 있고, mysqli_~() 함수를 지원하지 않는 환경 등의 고려가 포함되어 있습니다.
그누보드의 사용자 정의 함수인 sql_query(), sql_fetch_array(), sql_fetch() 에 익숙해지면 상당히 편하다는 것을 느낄 수 있을 것입니다.
/bbs 디렉토리의 view.php, write_update.php 등의 소스를 참고하는 것도 괜찮을 듯 싶습니다.
!-->