database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 2132 게시물 읽기
No. 2132
Re: Re: Re: Warning: 0 is not a MySQL link index in /home/httpd/html/reserve/index.php3 on line 45
작성자
dskim
작성일
2000-06-16 17:14
조회수
3,702

Warning: 0 is not a MySQL link index 메시지는

DB와의 연결이 안되는 경우 나옵니다.

 

실제로 DB와의 연결이 끊어 졌거나DB와의 연결시 사용했던 변수를 사용하지 않고

다른 변수를 사용하는 경우 입니다.

 

예를들어 아래 문장이 있습니다

---

$db_connect=mysql_connect("localhost", "XXX", "XXXX")

or die("!! db connect fail !!");

if(!($status=mysql_select_db("zzzzzz", $db_connect))) {

echo("db connect fail! <br>");

}

 

$sqlmsg = "select qust, qust_fr_dt, qust_to_dt, ifnull(ref_conts,'') as ref_conts from tbname

where inf_seq_no = $inf_seq_no " ;

 

$result = mysql_query($sqlmsg, $db_connect)

or die ("질의어가 잘못되었습니다.");

 

---

 

위의 문장에서 $db_connect는 DB와의 연결에 대한 변수로 설정된 입니다.

$result = mysql_query($sqlmsg, $db_connect) 문장을

$result = mysql_query($sqlmsg, $connect)라고 쓰면 같은 error가 나옵니다.

즉 DB연결에 대한 변수로 설정되지 않은 $connect를 사용했기 때문입니다.

DB연결에 대한 변수를 정확히 사용햇는지 확인해 보세요

 

그리고 잘은 모르지만 외부에서 설정 후 include하는 경우 DB연결이 끊어지는

경우도 있는 것 같습니다.

 

더불어 한가지 더 ...

소스에 보면

$result = mysql_query($que1,$connect);

if($result >0)

{

$reason = "시간이 중복됩니다";

$why ="이미 등록되어 있는 시간";

add_error($why,$reason);

}

 

라고 되어 있는데 ...

의도가 해당자료가 있으면

$reason = "시간이 중복됩니다";

$why ="이미 등록되어 있는 시간";

add_error($why,$reason);

이 실행되게 하려는것 같은데요 ...

 

그러면 틀렸습니다.

$result는 error인 경우에만 0을 리턴 합니다.

즉 조회결과가 0건이라도 $result는 0이 아닙니다.

$result의 의미는 결과건수가 아닌 query의 결과에 대한 link식별자 이기

때문입니다.

그러므로 의도가 맞다면 아래와 같이 수정하세요 ...

$result = mysql_query($que1,$connect);

if(!$result) {

echo("<script> window.alert('질의에 오류가 있습니다...')

history.back() </script>") ;

}

 

$rownum = mysql_num_rows($result);

if ($rownum) {

$reason = "시간이 중복됩니다";

$why ="이미 등록되어 있는 시간";

add_error($why,$reason);

}

 

 

도움이 되었으면 좋겠습니다...

 

 

 

 

 

> 답변 정말 감사합니다.

> 하지만 그 문제는 아닌것 같군요...

> 의심스러워서 $reserv_date 이 놈들을 time 형이 아닌 varchar 형으로

> 다시 바꾸고

> 의심스러운 num 필드도 삭제해서

> 돌려도 똑같은 에러의 연속입니다.

> 제발 도와 주세요...

> 꾸벅

>

> > $que1 ="select room,reserv_date1,reserv_date2 from reserv_list where room = '$room'

>

> > and reserv_date1 < '$reserv_date1' and reserv_date2 > '$reserv_date1'";

> > /*여기가 문제의 query문입니다.시간예약이라 $reserv_date1 이 시작시간이라 reserv_date1(시작시

> 간)

> >

> > 과 2(종료시간) 사이에 끼면 안되잖아요*/

> >

> > 제생각에 reserv_date1가 time type이므로

> > reserv_date1 < '$reserv_date1' and reserv_date2 > '$reserv_date1' 에 '을 뺴야될것같습니다.

> >

> > 즉 reserv_date1 < $reserv_date1 and reserv_date2 > $reserv_date1 이런 식으로요.

> >

> > 그럼 꼭성공하세요.

> >

> >

> >

> >

> >

> >

> >

> > > 안녕하세요 초보 프로그래머입니다.

> > > 프로그래머의 길은 멀고도 험한가 봅니다. 아!!!! 한숨!!!

> > > 지금 예약 프로그램을 만들고 있는데 query 문에서

> > > 자꾸

> > > Warning: 0 is not a MySQL link index in /home/httpd/html/reserve/index.php3 on line 45

> > >

> > > Warning: 0 is not a MySQL link index in /home/httpd/html/reserve/index.php3 on line 33

> > >

> > >

> > > 이런 에러 때문에 정말 답답하군요....

> > >

> > >

> > > if($action=="reserve")

> > > {

> > > if( (!$name)||(!$email)||(!$room)||(!$reserv_date1)||(!$reserv_date2)||(!$reserv_date3)|

> |(

> > !$

> > > passwd) )

> > > {

> > > $why="입력난 공백";

> > > $reason="모든 항목을 기록해 주십시오";

> > > add_error($why,$reason);

> > > exit;

> > > }

> > >

> > > /*시간 중복 검사 */

> > >

> > > echo"$num,$room,$reserv_date1,$reserv_date2,$reserv_date3,$passwd,$email,$name";

> > > $que1 ="select room,reserv_date1,reserv_date2 from reserv_list where room = '$ro

> om

> > '

> > > and reserv_date1 < '$reserv_date1' and reserv_date2 > '$reserv_date1'";

> > > /*여기가 문제의 query문입니다.시간예약이라 $reserv_date1 이 시작시간이라 reserv_date1(시작

> 시

> > 간)

> > > 과 2(종료시간) 사이에 끼면 안되잖아요*/

> > >

> > > $result = mysql_query($que1,$connect);

> > > if($result >0)

> > > {

> > > $reason = "시간이 중복됩니다";

> > > $why ="이미 등록되어 있는 시간";

> > > add_error($why,$reason);

> > > }

> > >

> > > else

> > > {

> > > /*두번째 query 문 warnig error

> > > $que2="insert into reserv_list values ('','$reserv_date1','$reserv_date2','$reserv_date3

> ',

> >

> > > '$name','$email','$room','$passwd',now() )";

> > > $result = mysql_query($que2,$connect);

> > >

> > > if($result > 0)

> > > {

> > > echo "축하합니다. $name 님의 $reserv_date3 $reserv_date1 의 예약이 성공적으로 이뤄졌습니

> 다.

> > ";

> > >

> > > echo("<meta http-equiv='Refresh' Content='3; url=http://user.mirae.co.kr/reserve/'>")

> ;

> >

> > > exit;

> > > }

> > >

> > > else

> > > {

> > > $why="DB 에러";

> > > $reason ="질의 중 에러가 발생하였습니다.";

> > > add_error($why,$reason);

> > > }

> > >

> > > }/*위의 else */

> > >

> > >

> > >

> > >

> > > <테이블입니다.>

> > >

> > >

> > > create table reserv_list(

> > >

> > > num int(11) DEFAULT '0' NOT NULL auto_increment,

> > > reserv_date1 time,

> > > reserv_date2 time,

> > > reserv_date3 date,

> > > name varchar(20),

> > > email varchar(35),

> > > room varchar(35),

> > > passwd varchar(10),

> > > reg_date datetime,

> > > PRIMARY KEY(num)

> > >

> > > );

> > >

> > > 그렇게 어려운 소스는 아닌데 그놈의 에러 때문에 정신이 없군요.db table과는 일치하는 것 같은

> 데

> > "n

> > > um " 때문에 그런것도 아닌것 같구 ....

> > > 고수님들의 많은 도움 부탁드립니다.제발 ....산사람 다시 한번 살려 주시는 셈치고

> > >

> > > 꾸벅

[Top]
No.
제목
작성자
작성일
조회
2125[질문] linux에서 C API가 사용 가능한지요????
서지훈
2000-06-16
3228
2127┕>Re: [질문] linux에서 C API가 사용 가능한지요????
정재익
2000-06-16 15:50:35
3606
2133 ┕>Re: Re: [질문] linux에서 C API가 사용 가능한지요????
서지훈
2000-06-16 17:19:08
3674
2123MYSQL 과 C언어 연동 할려는데.....
답답이
2000-06-16
3221
2145┕>Re: MYSQL 과 C언어 연동 할려는데.....
외계인
2000-06-17 12:04:18
3591
2184┕>Re: 초기화가 잘못....
이종상
2000-06-20 13:37:42
3560
2121# show processlist 에서...
boky
2000-06-16
3229
2119Warning: 0 is not a MySQL link index in /home/httpd/html/reserve/index.php3 on line 45
윤수진
2000-06-16
3458
2122┕>Re: Warning: 0 is not a MySQL link index in /home/httpd/html/reserve/index.php3 on line 45
박승홍
2000-06-16 10:58:24
3456
2126 ┕>Re: Re: Warning: 0 is not a MySQL link index in /home/httpd/html/reserve/index.php3 on line 45
윤수진
2000-06-16 15:49:46
3760
2132  ┕>Re: Re: Re: Warning: 0 is not a MySQL link index in /home/httpd/html/reserve/index.php3 on line 45
dskim
2000-06-16 17:14:41
3702
2116php가 아파치 루트디렉토리이외에서 실행이 안되는지요???
리눅서
2000-06-16
2970
2118┕>Re: [불꽃남자] 물론 됩지요...
iskraman
2000-06-16 09:35:13
5928
2113저 질문 있어요!!!
왕초보
2000-06-15
2873
2115┕>Re: 저 질문 있어요!!!
정재익
2000-06-16 08:37:23
3247
2110php3를 mssql과 연동을 하고 싶습니다. 며칠째 해메고 있습니다.
궁금남
2000-06-15
3079
2111┕># Re: php3를 mssql과 연동을 하고 싶습니다. 며칠째 해메고 있습니다.
송두호
2000-06-15 20:55:23
3110
2112┕># Re: php3를 mssql과 연동을 하고 싶습니다. 며칠째 해메고 있습니다.
송두호
2000-06-15 20:55:27
5208
2114 ┕>Re: # Re: php3를 mssql과 연동을 하고 싶습니다. 며칠째 해메고 있습니다.
정재익
2000-06-16 08:35:11
3300
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다