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 = @mysql_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 = @mysql_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에 대해서 사용방법과 특징이 나와있습니다.
-------------------
정작 하려고하는일로만 보면
</p>
<p><?php</p>
<p> </p>
<p> $query = "SELECT * FROM g5_write_{$boardtable} </p>
<p> WHERE wr_id='{$topic}' </p>
<p> and wr_num is not null </p>
<p> and wr_num != '' </p>
<p> ";
$result = sql_query($query);</p>
<p> $wr_num = "";</p>
<p> while ($row = sql_fetch_array($result)) {</p>
<p> $wr_num = $row['wr_num'];</p>
<p> }</p>
<p> echo $wr_num;</p>
<p>?></p>
<p>
로 출력이 가능하지만
어떻게 수행을하던간에 모든 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을 사용할 이유가???
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
sql 구문을 사용할 줄 몰라서요.
알려주시면 감사하겠습니다.