sql 문인데 뭔가 잘 못 된거 같아요.

sql 문인데 뭔가 잘 못 된거 같아요.

QA

sql 문인데 뭔가 잘 못 된거 같아요.

본문


              $query = "SELECT * FROM g5_write_$boardtable WHERE wr_id=$topic  ";
              $result = mysql_query($query);
              if (!$result) {
                die('Invalid query: ' . mysql_error());
              } 
                 $wr_num = '';

              while ($row = _fetch_assoc($result)){
                $wr_num = $row['wr_num'];
                // Add to XML document node
              }

              // Select all the rows in the markers table
              // A && 1 day

              echo $wr_num;   

 

 

위와 같이 했는데 echo $wr_num; 이 것이 출력되지 않습니다. 

그리고 또한 

              while ($row = _fetch_assoc($result)){
                $wr_num = $row['wr_num'];
                // Add to XML document node
              }

위 sql 말고 더 간단하게 할 수 있는 sql 문을 알려주세요.

위에 것 때문에 안되는거 같아요.

이 질문에 댓글 쓰기 :

답변 4

https://dev.mysql.com/doc/apis-php/en/apis-php-function.mysql-fetch-assoc.html

 

여기를 보시면

mysql_fetch_assoc에 대해서 사용방법과  특징이 나와있습니다.

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

정작 하려고하는일로만 보면


<?php
 
    $query = "SELECT * FROM g5_write_{$boardtable} 
                     WHERE wr_id='{$topic}' 
                       and wr_num is not null 
                       and wr_num != '' 
                      ";
    $result = sql_query($query);
    $wr_num = "";
    while ($row = sql_fetch_array($result)) {
        $wr_num = $row['wr_num'];
    }
    echo $wr_num;
?>

 

로 출력이 가능하지만

 

어떻게 수행을하던간에 모든 Row의 맨 마지막의 자료의 wr_num 만 출력됩니다.

엄청 비효율적이죠

 

그럴때에는 order by 와 존재하는 값을 잘 찾는게 더 중요합니다.

1.

SQL문을 DB에서 실행하면 결과가 있나요?

(SELECT * FROM g5_write_$boardtable WHERE wr_id=$topic)

위의 코드로는 wr_id가 없는 값이면 당연히 $wr_num은 초기화한 ''값을 출력하는게 맞습니다.

 

2.

wr_id가 pk가 맞다면 찾은 데이터는 1개의 row일 것입니다.

while을 사용할 이유가???

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,503 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT