php관련

count()로 얻은 숫자가 $QUERY에 담기면 어떻게되나요?

PHPdev 2011. 11. 18. 14:41
반응형

 질문내용
 if(!eregi("[^[:space:]]+", $key)) {
        $query= "select count(*) from $code";
 
      }


    $result = mysql_query($query);
    if(!$result) {
    error("QUERY_ERROR");
    exit;
    }

    $total_record = mysql_result($result,0,0);
    mysql_free_result($result);
          .
          .
          .
 질문 :  count()함수를 사용해 $query변수에 5를 저장합니다. 그리고 나서
            $result = mysql_query($query);  에서 $result변수에 5를 반환합니다.
            참이라면 $total_record = mysql_result($result,0,0);  저는 지금까지 $result에 숫자 5가반환이 안된다고해서 mysql접속해서 똑같은 구문을 입력해봤는데 숫자인 5를 출력 하게 됩니다.... 그럼 여기에서 mysql_result($result,0,0);    $result에는 무슨값이 오게되나요??
          꼭좀 알려주시면 고맙겠습니다.
 답변내용
 
ㅇ ㅏ
어제 설명 드렸는대 ㅋㅋㅋ

개념에 대한 이해가 필요 하신거 같애요~ ㅋ

ㅈ ㅏ mysql 에서 쿼리를 실행하는건 바로 쿼리 실행 및 결과를 보겠다는게 됩니다~
그럼 php에서 쿼리를 실행 하면?

지금 님 처럼 count 하나만 가져온다면 result 에 5가 들어가도 문제가 없겠죠
하지만 100개의 필드를 가진 레코드를 100 줄 가져온다면
result 에는 모가 드러가야 할까요?

mysql 에서 쿼리를 실행하는것처럼 그냥 명령문 치고 쿼리 하면 답이 쭉 나오는게 아니라
일정한 형태를 가지고 오겠다는 과정을 이야기 하는겁니다.

즉 $result 에는 쿼리를 실행한 mysql의 결과를 가져오는거죠 결과는 레코드 셋이 되겠죠
result($result,0,0) 이건 그 결과에서 0번째 레코드에서 0번째 필드에 있는 값을 꺼내오겠다는
말이 됩니다.


$result = mysql_query($query); --> 이 명령으로 select count(*) from $code 라는 쿼리의 레코드셋을
                                                  가져온다

if(!$result)  {  --> 이 부분은 레코드셋을 가져오는게 실패했다면 다음 구문을 실행해라

$total_record = mysql_result($result,0,0)  --> $result 레코드셋 에서 0번째 레코드에 0번째 필드 값
                                                                을 반환하여 $total_record 에 넣어라

이런 뜻이 됩니다~

반응형