CI 묻고 답하기

제목 Model에서 database 연결부 에러..
카테고리 CI 4 관련
글쓴이 마로3 작성시각 2020/03/13 17:54:43
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 10404   RSS

안녕하세요 또 여쭙습니다. ㅠㅠ

어제 CI4를 인스톨하고 rest server를 설치하려다 CI4에는 Rest 서비스를 도와 주는

ResponseTrait 가 있다는 사실 까지 알았습니다.

 

그래서 Model에서 mysql db로 접근하여 데이타를 가져와서 control에 뿌여주는 간단한 예제 프로그램

작성을 하고 있는데 죽어라 안됩니다...  한번 봐주시면 감사하겠습니다.

Mysql : docker mysql:8.0 

port : 3307

 

 

 

=============control ======================================

<?php

namespace App\Controllers;

use CodeIgniter\Controller;

use App\Models as Model;

defined('BASEPATH') OR exit('No direct script access allowed');

 

class Users extends Controller {

public function __construct(){

}

public function index()

{

$model = new Model\book_model();

$result = $model->getallbooks();

print_r($result);

 

 

}

}

============= model =======================================

<?php namespace App\Models;

use CodeIgniter\Model;

use CodeIgniter\Database\ConnectionInterface;

class Book_model extends Model {

protected $db;

//public function __construct(){ ç}

public function getallbooks(){

 

$db = \Config\Database::connect();

$query = $db->query('SELECT * FROM apis.tbl_books');

$results = $query->getResult();

foreach ($results as $row)

{

echo $row->id;

echo $row->name;

echo $row->price;

}

echo 'Total Results: ' . count($results);

// return $results;

}

}

 

=========== database 설정 수정부분 =========================

public $default = [

'DSN' => '',

'hostname' => 'localhost',

'username' => 'root',

'password' => '패스워드',

'database' => 'apis',

'DBDriver' => 'MySQLi',

'DBPrefix' => '',

'pConnect' => false,

'DBDebug' => (ENVIRONMENT !== 'production'),

'cacheOn' => false,

'cacheDir' => '',

'charset' => 'utf8',

'DBCollat' => 'utf8_general_ci',

'swapPre' => '',

'encrypt' => false,

'compress' => false,

'strictOn' => false,

'failover' => [],

'port' => 3307,

];

 

 

 

 

 다음글 페이징 a링크 class 추가방법 문의 입니다. (3)
 이전글 ciboard 설치 관련 질문입니다. 일주일째 미칠것같... (3)

댓글

한대승(불의회상) / 2020/03/16 10:14:12 / 추천 0
database 연결이 잘되는지 부터 확인해보세요.