mysqli_num_rows() 오류 채택완료
qoqofh
3년 전
조회 2,133
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, bool given in \board.php on line 51
Fatal error: Uncaught Error: Call to a member function fetch_array() on bool in C:\laragon\www\homepage\board\board.php:65 Stack trace: #0 {main} thrown in \board.php on line 65
라는 에러가 발생하면서 데이터베이스의 데이터값을 불러오지 못하고 있습니다 ㅠㅠ
</p>
<p><div id="fullpage" class="board_main">
<div class="section board_box" style="background-color: #313131; padding: 120px; width: 100%;"></p>
<p>
<div id="write_btn">
<a href="./write.php"><button>글쓰기</button></a>
</div></p>
<p> <table class="list-table">
<thead>
<tr>
<th scope="col">번호</th>
<th scope="col">제목</th>
<th scope="col">글쓴이</th>
<th scope="col">작성일</th>
<th scope="col">조회수</th>
</tr>
</thead>
<?php
if(isset($_GET['page'])){
$page = $_GET['page'];
}else{
$page = 1;
}
$sql = mq("select * from board");
$row_num = mysqli_num_rows($sql); //게시판 총 레코드 수
$list = 5; //한 페이지에 보여줄 개수
$block_ct = 5; //블록당 보여줄 페이지 개수</p>
<p> $block_num = ceil($page/$block_ct); // 현재 페이지 블록 구하기
$block_start = (($block_num - 1) * $block_ct) + 1; // 블록의 시작번호
$block_end = $block_start + $block_ct - 1; //블록 마지막 번호</p>
<p> $total_page = ceil($row_num / $list); // 페이징한 페이지 수 구하기
if($block_end > $total_page) $block_end = $total_page; //만약 블록의 마지박 번호가 페이지수보다 많다면 마지박번호는 페이지 수
$total_block = ceil($total_page/$block_ct); //블럭 총 개수
$start_num = ($page-1) * $list; //시작번호 (page-1)에서 $list를 곱한다.</p>
<p> $sql2 = mq("select * from board order by idx desc limit $start_num, $list");
while($board = $sql2->fetch_array()){
$title=$board["title"];
if(strlen($title)>30)
{
$title=str_replace($board["title"],mb_substr($board["title"],0,15,"utf-8")."...",$board["title"]);
}
$sql3 = mq("select * from reply where con_num='".$board['idx']."'");
$rep_count = mysqli_num_rows($sql3);
?>
<tbody>
<tr>
<td width="70"><?php echo $board['idx']; ?></td>
<td width="470"><?php
//$lockimg = "<img src='./img/lock.png' alt='lock' title='lock'/>";
$lockimg = "[비밀글] ";
if($board['lock_post']=="1")
{ ?>
<a href='./ck_view.php?idx=<?php echo $board["idx"];?>'><?php echo $lockimg, $title; ?></a>
<?php } else { ?>
<?php
$boardtime = $board['date']; //$boardtime변수에 board['date']값을 넣음
$timenow = date("Y-m-d"); //$timenow변수에 현재 시간 Y-M-D를 넣음</p>
<p> if($boardtime==$timenow){
$img = "<img src='./img/new_icon.png' alt='new' title='new' style='margin-left: 10px;'/>";
}else{
$img ="";
}
?></p>
<p>
<a href='./view.php?idx=<?php echo $board["idx"]; ?>'><?php echo $title; }?><span class="re_ct">[<?php echo $rep_count; ?>]<?php echo $img; ?></span></a></td>
<td width="120"><?php echo $board['name']?></td>
<td width="140"><?php echo $board['date']?></td>
<td width="90"><?php echo $board['hit']; ?></td>
</tr>
</tbody>
</p>
<p> <?php } ?>
</table>
</p>
<p> <!---페이징 넘버 --->
<div id="page_num">
<ul>
<?php
if($page <= 1)
{ //만약 page가 1보다 크거나 같다면
echo "<li class='fo_re'>처음</li>"; //처음이라는 글자에 빨간색 표시
}else{
echo "<li><a href='?page=1'>처음</a></li>"; //알니라면 처음글자에 1번페이지로 갈 수있게 링크
}
if($page <= 1)
{ //만약 page가 1보다 크거나 같다면 빈값</p>
<p> }else{
$pre = $page-1; //pre변수에 page-1을 해준다 만약 현재 페이지가 3인데 이전버튼을 누르면 2번페이지로 갈 수 있게 함
echo "<li><a href='?page=$pre'>이전</a></li>"; //이전글자에 pre변수를 링크한다. 이러면 이전버튼을 누를때마다 현재 페이지에서 -1하게 된다.
}
for($i=$block_start; $i<=$block_end; $i++){
//for문 반복문을 사용하여, 초기값을 블록의 시작번호를 조건으로 블록시작번호가 마지박블록보다 작거나 같을 때까지 $i를 반복시킨다
if($page == $i){ //만약 page가 $i와 같다면
echo "<li class='fo_re'>[$i]</li>"; //현재 페이지에 해당하는 번호에 굵은 빨간색을 적용한다
}else{
echo "<li><a href='?page=$i'>[$i]</a></li>"; //아니라면 $i
}
}
if($block_num >= $total_block){ //만약 현재 블록이 블록 총개수보다 크거나 같다면 빈 값
}else{
$next = $page + 1; //next변수에 page + 1을 해준다.
echo "<li><a href='?page=$next'>다음</a></li>"; //다음글자에 next변수를 링크한다. 현재 4페이지에 있다면 +1하여 5페이지로 이동하게 된다.
}
if($page >= $total_page){ //만약 page가 페이지수보다 크거나 같다면
echo "<li class='fo_re'>마지막</li>"; //마지막 글자에 긁은 빨간색을 적용한다.
}else{
echo "<li><a href='?page=$total_page'>마지막</a></li>"; //아니라면 마지막글자에 total_page를 링크한다.
}
?>
</ul>
</div></p>
<p>
</div>
</div></p>
<p> </p>
<p>
$row_num = mysqli_num_rows($sql); //게시판 총 레코드 수
이부분과
while($board = $sql2->fetch_array()){
이부분이 에러가나는데 도무지 해결점을 못찾고 있습니다.
ps. 가비아나 카페24 닷홈 등 호스팅서버에서 진행할 시에는 잘 되는데,
라라곤이나 apmsetup에서 진행하면 되지 않네요...
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
답변에 대한 댓글 2개
q
qoqofh
3년 전
�
엑스엠엘
3년 전
$sql = mq("select * from board");
if( $row_num)
$row_num = mysqli_num_rows($sql); //게시판 총 레코드 수
else
$row_num=0;
if( $row_num)
$row_num = mysqli_num_rows($sql); //게시판 총 레코드 수
else
$row_num=0;
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
header('Content-Type: text/html; charset=UTF-8');
$db_conn = mysqli_connect("localhost", "root", "1234", "1234");
$db_conn->set_charset("utf8");
//if (!$db_conn) {
// $error = mysqli_connect_error();
// $errno = mysqli_connect_errno();
// print "$errno: $error\n";
// exit();
//}
//mysqli_close($db_conn);
function mq($sql)
{
global $db_conn;
return $db_conn->query($sql);
}
?>
이부분입니다 ㅠ #dbconfig.php