묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
Qurey 재 질문입니다...
2004.01.08 10:39
테이블명 : tb_company 컬럼명 wDate DATE, Company VARCHAR(20) INDEX 의 두개의 컬럼이 있구요.
그곳에 아래와 같은 데이터들이 들어있습니다.
wDate Company
2004-01-07 test1
2004-01-07 test2
2004-01-07 test3
2004-01-07 test4
2004-01-07 test5
위 데이터에서 일치되는 값이 없는가 체크하는 쿼리를 만들려고 합니다.
그러면 우선 DB 에서 값을 갖고와야 하는데요..
===================== 소스 =======================================
<!-- iCompany.html 에서 입력된 값을 처리하는 i.php -->
<?php
include "../db/dbconn.php";
$wDate=date("Y-m-d");
/***** iCompany 에서 입력된 값을 $val 에 대입 *****/
$val=addslashes($txt_com);
/**** iCompany.html 에서 post 로 넘겨준값을 DB 에 저장하는 소스 ******/
$query="select Company from tb_company where Company='$val'";
$result=mysql_query($query,$connect) or die(mysql_error());
echo $result;
?>
에러메세지 : Resource id #4
====================================================================
그래서 다음처럼 바꾸어 봤습니다.
===================== 소스 =======================================
<!-- iCompany.html 에서 입력된 값을 처리하는 i.php -->
<?php
include "../db/dbconn.php";
$wDate=date("Y-m-d");
/***** iCompany 에서 입력된 값을 $val 에 대입 *****/
$val=addslashes($txt_com);
/**** iCompany.html 에서 post 로 넘겨준값을 DB 에 저장하는 소스 ******/
$query="select Company from tb_company where Company='$val'";
$result=mysql_query($query,$connect) or die(mysql_error());
while($data=mysql_fetch_array($result)){
echo $data[Company]."<br>";
}
?>
그랬더니 제대로 값이 출력됩니다.
==================================================================
제 단순한 생각엔...
예를 들어 $val 에 대입되는 값이 'test1' 이라고 가정한다면
$query="select Company from tb_company where Company='$val'"; 에서의 리턴값은
'test1' 이라는 문자열 하나일거라는 생각입니다.
그렇다면 echo $result; 하면 출력이 되야 될거라고 생각이 되는데..
그게 아닌모양입니다.
아마도 배열로 리턴하는 모양같은데..
그게 맞다면 워째서 배열로 리턴하는것인지요..
그곳에 아래와 같은 데이터들이 들어있습니다.
wDate Company
2004-01-07 test1
2004-01-07 test2
2004-01-07 test3
2004-01-07 test4
2004-01-07 test5
위 데이터에서 일치되는 값이 없는가 체크하는 쿼리를 만들려고 합니다.
그러면 우선 DB 에서 값을 갖고와야 하는데요..
===================== 소스 =======================================
<!-- iCompany.html 에서 입력된 값을 처리하는 i.php -->
<?php
include "../db/dbconn.php";
$wDate=date("Y-m-d");
/***** iCompany 에서 입력된 값을 $val 에 대입 *****/
$val=addslashes($txt_com);
/**** iCompany.html 에서 post 로 넘겨준값을 DB 에 저장하는 소스 ******/
$query="select Company from tb_company where Company='$val'";
$result=mysql_query($query,$connect) or die(mysql_error());
echo $result;
?>
에러메세지 : Resource id #4
====================================================================
그래서 다음처럼 바꾸어 봤습니다.
===================== 소스 =======================================
<!-- iCompany.html 에서 입력된 값을 처리하는 i.php -->
<?php
include "../db/dbconn.php";
$wDate=date("Y-m-d");
/***** iCompany 에서 입력된 값을 $val 에 대입 *****/
$val=addslashes($txt_com);
/**** iCompany.html 에서 post 로 넘겨준값을 DB 에 저장하는 소스 ******/
$query="select Company from tb_company where Company='$val'";
$result=mysql_query($query,$connect) or die(mysql_error());
while($data=mysql_fetch_array($result)){
echo $data[Company]."<br>";
}
?>
그랬더니 제대로 값이 출력됩니다.
==================================================================
제 단순한 생각엔...
예를 들어 $val 에 대입되는 값이 'test1' 이라고 가정한다면
$query="select Company from tb_company where Company='$val'"; 에서의 리턴값은
'test1' 이라는 문자열 하나일거라는 생각입니다.
그렇다면 echo $result; 하면 출력이 되야 될거라고 생각이 되는데..
그게 아닌모양입니다.
아마도 배열로 리턴하는 모양같은데..
그게 맞다면 워째서 배열로 리턴하는것인지요..
댓글 3
-
이호한
2004.01.08 11:45
-
이호한
2004.01.08 11:47
그리고 결과로 1개만 나온다는게 확실하다면 이때는 mysql_result()함수를 이용해서 fetch하면 됩니다.
http://kr.php.net/manual/kr/function.mysql-result.php -
김윤희
2004.01.08 15:47
^^;
친절한 답변에 감사드립니다.
_(__)_
mysql_query()함수는 실행결과로 실행시킨 질의의 실행 성공 여부만 리턴합니다.
질의에 해당하는 열 개수 등과는 관련이 없습니다.
실행에 성공한 경우 result identifier를 return하게 되죠. 이게 위의 Resource id #4입니다.
이 result identifier를 가지고 fetch를 해야만 질의에 의해 실행된 결과값을 가져올수 있습니다.
위에서 사용한 mysql_fetch_array()나 mysql_fetch_assoc(), mysql_fetch_object()등의 함수가 fetch하는 함수들입니다.
매뉴얼 참고해보세요.
http://kr.php.net/manual/kr/function.mysql-query.php