묻고답하기


// 전체 division 구함

function total_division() {
   global $connect, $t_division, $id;
   $temp=mysql_fetch_array(mysql_query("select max(division) from $t_division"."_$id"));
   return $temp[0];
}

// MySQL 데이타 베이스에 접근

function dbconn() {
   global $connect, $config_dir, $autologin, $HTTP_COOKIE_VARS, $_dbconn_is_included;
   if($_dbconn_is_included) return;
   $_dbconn_is_included = true;
   $f=@file($config_dir."config.php") or Error("config.php파일이 없습니다.
DB설정을 먼저 하십시요","install.php");
   for($i=1;$i<=4;$i++) $f[$i]=trim(str_replace("n","",$f[$i]));
   if(!$connect) $connect = @mysql_connect($f[1],$f[2],$f[3]) or Error("DB 접속시 에러가 발생했습니다");
   @mysql_select_db($f[4], $connect) or Error("DB Select 에러가 발생했습니다","");
   return $connect;
}

이렇게 되어있는데요  이상한게 하나 있어서요..
다른게 아니라
$temp=mysql_fetch_array(mysql_query("select max(division) from $t_division"."_$id"));  에서 $connect 를 넣어줘야 하는거 아닌가요?

$temp=mysql_fetch_array(mysql_query("select max(division) from $t_division"."_$id,$connect")); 이렇게요..

전 $connect 를 안넣고 하면

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ~~

이렇게 에러가 나거든요?

어떻게 제로보드님들께서 만든 경우는 $connect 를 사용하지 않고도 에러가 안나는것인지 알수가 없네요..
답변좀 부탁드릴께요.. 고맙습니다 ^^*


php 레퍼런스에..
int mysql_query ( string query [, int link_identifier])


mysql_query()는 현재 서버에서 동작중인 데이터베이스로부터 특정 link identifier로 질의를 전송한다. 만일, link_identifier를 설정하지 않으면 가장 최근에 열려진 link를 사용하게 된다. 열려진 link가 없으면, 옵션 인자 없이 실행된 mysql_connect() 함수처럼 link를 생성하여 사용한다.

참고: 질의에 쓰이는 문자열 마지막에 세미콜론(;)를 붙이면 안된다.

mysql_query() 함수는 질의 성공 여부에 따라 TRUE(0이 아닌값) 또는 FALSE를 반환한다. 서버로부터 실행된 질의가 실행되고 그 질의 내용에 문제가 없어야만, TRUE값을 반환한다. 이 반환 값은 질의에 해당하는 열 개수 등과는 관련이 없다.

다음 질의는 틀린 문장이기 때문에 mysql_query()는 실패하며, FALSE값을 반환한다:

이렇게 되어있는데요..
대체 모르겠습니다..