이전 목록 다음
채택완료

mysql fetch_array에러

<?php
  include ('dbc.php');
  $board_id = $_GET['id'];

          $sql = mq("SELECT * FROM board order by idx desc limit 0,2");
          echo $sql;
            while($board = fetch_array($sql))
            {

              $title=$board["title"];
              if(strlen($title)>30)
              {

                $title=str_replace($board["title"],mb_substr($board["title"],0,30,"utf-8")."...",$board["title"]);
              }

 

--------------------------------------------------

#dbc.php

<?php
    session_start();
    header('Content-Type: text/html; charset=utf-8');

    $db = new mysqli("localhost","","","");
    $db->set_charset("utf8");

    function mq($sql)
    {
        global $db;
        return $db->query($sql);
    }
?>
 

이렇게 돌리면 

Fatal error: Uncaught Error: Call to undefined function fetch_array() in C:\xampp\htdocs\bimain.php:30 Stack trace: #0 {main} thrown in C:\xampp\htdocs\bimain.php on line 30

라고 오류가 뜨는데 한번 봐주실수있을까요.. ㅜㅜ

|

답변 6개 / 댓글 1개

채택된 답변
+20 포인트

fetch_array() 함수는 못 봤습니다.

그누면 sql_fetch_array() 함수 사용 가능하고,

그냥 php면 mysqli_fetch_array() 함수 사용 하셔야....

  include ('dbc.php');
mq()
fetch_array()

이들 함수가 dbc.php 안에 있지 않을까요? 오타가 있어서 함수를 못 찾고 있는 거 같습니다.

댓글달아주신대로 fetch_array() 가아닌 php라서 mysqli_fetch_array 라고 쓰고 다시 돌려봤는데 

Cannot redeclare mysqli_query() in C:\xampp\htdocs\lib.php on line 12

 

lib.php

<?php
    session_start();
    header('Content-Type: text/html; charset=utf-8');

    $db = new mysqli("localhost","root","","");
    $db->set_charset("utf8");

    function mysqli_query($sql)
    {
        global $db;
        return $db->query($sql);
    }
?>
오류가뜨는데 구글링해도 잘 안나오네요 ㅜㅜㅜㅜ

답변에 대한 댓글 1개

아래 부분을 제거해보심이....

function mysqli_query($sql)
{
global $db;
return $db->query($sql);
}

이 부분은 따로 선언할 필요가 없어보입니다.
php가 기본으로 지원하는 함수입니다.
기본 지원하는 함수는 또 선언해서 사용하니 중복 선언으로 에러 뜨는 것 같네요.

fetch_array 아니고

sql_fetch_array  쓰셔야 합니다

왜 그누로 있던 쿼리 함수 안쓰세요 보안적으로 좋은데요

디비 연결부에 디비  아이디 암호를 넣어도 에러가 나는가요

fetch_array가  그누보드에서 만든  접근용 함수로 기억하고 있는데

함수 정의가 되어 있는지  혹은 그누보드 디비관련 페이지가 인클루드 되어 있는지 한번 확인해 보세요

 

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