채택완료

sql 기본 질문

$query = "SELECT wr_reply FROM g5_write_$boardtable WHERE wr_id=$topic  "; 
$result = mysql_query($query);

 

----------------------------------------

 

위 query 에서 wr_reply 만 echo로 출력할려고 하는데 어떻게 해야 하나요?

 

 

 

 

|

답변 2개 / 댓글 3개

채택된 답변
+20 포인트

$wr_id 는 키값이기때문에

1 row만 가져오게 됩니다.

이럴때는 루프로 순환시킬 필요가 없습니다.

 

Copy
$sql = "SELECT wr_reply FROM g5_write_$boardtable WHERE wr_id='{$topic}'  "; 
$row = sql_fetch($sql);

echo $row['wr_reply'];

 

이렇게 하면 순환없이 출력됩니다.

 

그리고, 숫자형 필드에 혹시라도 null 또는 값없는 공백이 대입될경우를 대비해서

sql 문장을 구성할때 ' ' 표로 감싸주는게 좋습니다.

변수를 String 안에 표기할때는 { } 로 감싸주면 오류를 줄일수있습니다.

 

답변에 대한 댓글 3개

아~ 뒤에 조건이 있었군요. ㅎ
g5_write_ 는 $g5['write_prefix'] 이렇게 대체가 가능합니다.
아래와 같이 코드를 다시 정리할 수 있겠네요

$sql = "SELECT wr_reply FROM ".$g5['write_prefix'].$boardtable." WHERE wr_id='{$topic}' ";
$row = sql_fetch($sql);
echo $row['wr_reply'];
@해피정 +1 역시!! 놓친것도 잘 잡아주시는 능력자!
  1. while ($row = mysql_fetch_array($result)) {  
  2.     echo $row[' wr_reply']."<br />";  

답변을 작성하려면 로그인이 필요합니다.