Background Image

FORUM

조회 수 9628 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

function sql_prepare($sql, $params)
{
 global $conn;

 $req = cubrid_prepare( $conn, $sql ); //, CUBRID_INCLUDE_OID );
 $i = 1;
 //echo print_r($params)."<Br>";
 foreach ($params as &$p) {
  $res = cubrid_bind($req, $i, $p);
  $i++;
 }
 return $req;
}

$sql = "select * board a, category b where a.code=b.code and a.id = b.id and a.code= ? and a.id not in ( 249,248,247 ) order by num desc, reply asc for orderby_num() between ? and ? ";
$params = Array ( "cool", 0, 35 ) ;

$req = sql_prepare($sql, $params);
cubrid_execute($req);
while ($rs = cubrid_fetch($req))  <========= 이줄에서 오류가 납니다.

오류 메세지 :
Warning: Error: DBMS, -447, An operation has been attempted on a closed query result structure. in c:board.php on line 196 Loading... 

오류메세지 없이 잘 나오는 데이타가 있고 위의 오류가 나오면서 테이타가 나올때가 있습니다 위오류가 무슨오류인지도 궁금하네요

스키마는 다음과 같습니다.
CREATE TABLE "board"(
"id" integer NOT NULL,
"code" character varying(40) DEFAULT  NOT NULL,
"num" integer DEFAULT 0 NOT NULL,
"reply" character varying(20) DEFAULT  NOT NULL,
);

CREATE TABLE "category"(
"ca_id" integer AUTO_INCREMENT PRIMARY KEY,
"code" character varying(20) DEFAULT  NOT NULL,
"id" integer DEFAULT 0 NOT NULL,
"ca_name" character varying(510) DEFAULT  NOT NULL
);
============================================

 
  • ?
    seongjoon 2010.02.05 20:36
    해당 에러 메시지의 닫혀진 resultset에 접근을 하면서 발생한 것입니다.
    $req 변수의 중복 사용이 문제이며,
    $req = sql_prepare($sql, $params);
    cubrid_execute($req);
    while ($rs = cubrid_fetch($req)) 
    에서의 $req를 다른 변수명으로 변경해 보시기 바랍니다.
  • ?
    남재우 2010.02.11 01:19

    안녕하세요.
    답변에 문제가 있어서 죄송합니다. 문의하신 내용을 보니 질의문에 오류가 있습니다. select * from 으로 쓰셔야 합니다. from 이 누락되어 질의에서 에러가 발생한 것이고, 이에 대한 적절한 처리가 없이 진행되다 보니 질의 수행은 당연히 되지 않고 따라서 cubrid_fetch는 수행될 수가 없는 것입니다. 보내주신 소스를 기반으로 from 을 넣고 간단히 테스트해보니 정상적으로 수행됩니다. 따라서 질의에 오타가 있는 것으로 판단됩니다.
    아래는 테스트한 스키마 및 소스입니다.

    create class board (
    code string, id int,
    num int, reply int
    )
    create class category (
    code string, id int)

    insert into board values('cool',1,1,1)
    insert into category values('cool',1)

    select * from board a, category b where a.code=b.code and a.id = b.id and a.code= 'cool'
    and a.id not in ( 249,248,247 ) order by num desc, reply asc for orderby_num() between 0 and 35

    csql 에서 질의 수행결과 아래와 같은 결과가 나옵니다.
    === <Result of SELECT Command in Line 13> ===

      code                           id          num        reply  code                           id
    ================================================================================================
      'cool'                          1            1            1  'cool'                          1


    $sql = "select * from board a, category b where a.code=b.code and a.id = b.id and a.code= ? and a.id not in ( 249,248,247 ) order by num desc, reply asc for orderby_num() between ? and ? ";
    $params = Array ( "cool", 0, 35 ) ;

    $req = sql_prepare($sql, $params);
    cubrid_execute($req);
    while ($rs = cubrid_fetch($req)) {
    print_r($rs);
    }
    cubrid_disconnect($conn);

    위 소스의 실행결과 아래와 같은 결과가 나옵니다.
    $ php t.php
    Array
    (
        [0] => cool
        [code] => cool
        [1] => 1
        [id] => 1
        [2] => 1
        [num] => 1
        [3] => 1
        [reply] => 1
        [4] => cool
        [5] => 1
    )

     


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 53
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4458
895 foreign key로 등록하여 다른 테이블에서 참조한 키값을 출력하고 싶습니다.(ER모델) 1 살구맛 2012.10.12 11209
894 큐브리드 List 데이터 타입에 대한, mybatis 연동 방법 문의 2 차오이 2016.03.22 11213
893 insert 실행 시 pk 값 return 관련 질문입니다. 2 cuJJANG 2013.06.05 11225
892 큐브리드 설치후, 실행오류 발생 2 챔프 2010.03.08 11230
891 큐브리드 REPLACE 함수 사용 1 DarkRanger 2013.02.13 11231
890 가상화를 이용한 복제기능의 성능이 궁금합니다 1 유니콘 2010.05.27 11250
889 cubrid 암복호화 관련 문의 입니다. 오라클 crypto같은 기능이 있는지요? 1 나라라라 2014.08.07 11250
888 broker 접속 오류 1 단순미학 2009.09.16 11254
887 ODBC 오토커밋 off에 관련된 문의 1 세스카 2012.05.23 11255
886 CUBRID 9.2.0.0.155 한글 깨짐 관련 요청 2 뿡뿡이입니다 2014.02.06 11268
885 Oracle REGEXT 함수 지원하나요? 2 cyber 2013.03.25 11273
884 Connect By Level 구문에 대해 문의 드립니다. 1 깨달음 2012.03.23 11274
883 PHP에서 CUBRID 4.0 모듈이 로드 되지 않습니다. 1 file 유리심장 2011.06.22 11277
882 백업받은 파일로 다른 서버에 복구하기 4 ...... 2009.08.07 11304
881 오류 해결방법을 몰라 질문드립니다. 4 삼구 2012.05.16 11307
880 Cubrid에서 Cursor 작성법이 궁금합니다. 4 궁금이 2010.07.09 11308
879 서버를 시작하려는데 시작되질 않네요. 5 까망군 2010.08.25 11315
878 용량은 충분한데 Out of disk space in database 라는 로그가 남으면서 마이그레이션이 안됩니다. 4 file 리리라 2014.03.20 11316
877 Connection 관련 내용 1 jjobi 2010.08.31 11319
876 널포인트 익셉션 에러가 납니다 5 file 유니콘 2010.08.06 11323
Board Pagination Prev 1 ... 151 152 153 154 155 156 157 158 159 160 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales