채택완료

뭐가 잘못됬는지 조언좀 부탁드립니다..

그누5-> 부트스트랩 이식작업도중

Copy
<nav class="navbar navbar-default">	<div class="container"> 			<ul class="nav navbar-nav">				<?php				$sql = " select *							from {$g5['menu_table']}							where me_use = '1'							  and length(me_code) = '2'							order by me_order, me_id ";				$result = sql_query($sql, false);				$gnb_zindex = 999; // gnb_1dli z-index 값 설정용				 				for ($i=0; $row=sql_fetch_array($result); $i++) {					$sql2 = " select *								from {$g5['menu_table']}								where me_use = '1'								  and length(me_code) = '4'								  and substring(me_code, 1, 2) = '{$row['me_code']}'								order by me_order, me_id ";					$result2 = sql_query($sql2); 					$result2_cnt = mysql_num_rows($result2);					if ($result2_cnt == 0) { ?><li><a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" ><?php echo $row['me_name'] ?></a></li>					<?php					} else { ?><li class="dropdown">	<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false"><?php echo $row['me_name'] ?></a>	<ul class="dropdown-menu" role="menu">					<?php						for ($k=0; $row2=sql_fetch_array($result2); $k++) { ?><li><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>" ><?php echo $row2['me_name'] ?></a></li>						<?php							}						echo '</ul>'.PHP_EOL;					}	?>	</li>				<?php				} 				if ($i == 0) {  ?>					<li id="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <br><a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 &gt; 환경설정 &gt; 메뉴설정</a>에서 설정하실 수 있습니다.<?php } ?></li>				<?php } ?>			</ul> 	</div><!-- /.container --> </nav><!-- /.navbar -->

이식작업 설명 블로그의 도움을 받아

위와같이 코드작성을 했는데

Warning: mysql_num_rows() expects parameter 1 to be resource, object given in /html/head.php on line 47 

와같은 에러가 납니다.... 조언좀 부탁드립니다..

|

답변 3개 / 댓글 4개

채택된 답변
+20 포인트

$result2_cnt = mysql_num_rows($result2); 를 

$result2_cnt = count($result2); 로 바꿔보세요 

답변에 대한 댓글 2개

아랫분거랑 둘다 해보았는데 둘다 되는군요..!!!!
짧은것이 더 효율적일까요?
이미 결과를 가져온 상태에서 또 결과를 가져오는건 부적절해보입니다.
그래서 전 이미 가져온 데이터를 가지고 count 를 한 것이구요.

답변은 아니지만 ^^; 혹시 어디 블로그 보고 하시나요 저도 부트스트랩 이식 해보고싶어서요 ㅠㅠ 

답변에 대한 댓글 1개

http://zzaps.tistory.com/248
인데요... 설명해주시는분이 해주시다가 마셔가지고..ㄷㄷ;

최신 그누보드에서는 mysql 서버에서 mysqli 지원시 mysqli_connect 를 이용하여 mysql 서버에 접속합니다.

// DB 연결
function sql_connect($host, $user, $pass, $db=G5_MYSQL_DB)
{
    global $g5;

    if(function_exists('mysqli_connect') && G5_MYSQLI_USE) {
        $link = mysqli_connect($host, $user, $pass, $db);

        // 연결 오류 발생 시 스크립트 종료
        if (mysqli_connect_errno()) {
            die('Connect Error: '.mysqli_connect_error());
        }
    } else {
        $link = mysql_connect($host, $user, $pass);
    }

    return $link;

mysqli_connect 로 접속된 경우 mysql_* 함수로는 결과값을 얻을수 없습니다.

$result2_cnt = mysql_num_rows($result2);

위 구문대신 아래 구문을 이용하세요.


$result2_cnt = sql_fetch("select count(*) as cnt from {$g5['menu_table']} where me_use='1' and length(me_code)='4' and substring(me_code, 1, 2)='{$row['me_code']}'");

답변에 대한 댓글 1개

어흠 위엣분거랑 둘다 해보았는데 둘다 되는군요..!! 고맙습니다!!

답변을 작성하려면 로그인이 필요합니다.