mysql fetch_array에러

mysql fetch_array에러

QA

mysql fetch_array에러

답변 6

본문

<?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

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

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

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

 

댓글달아주신대로 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);
    }
?>
오류가뜨는데 구글링해도 잘 안나오네요 ㅜㅜㅜㅜ

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

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

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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 1,543
© SIRSOFT
현재 페이지 제일 처음으로