728x90
COMPOSER로 기본적인 프로젝트를 생성을 합니다.
연결을 하려면 설정을 해줘야 될 부분이 두 군데 존재합니다.
1. MYSQL 내 설정
2. 프로젝트 내 설정
MYSQL 내 설정
use mysql
mysql을 활성화 해줍니다.
CREATE USER 'root'@'본인 외부 ip' IDENTIFIED BY 'root';
그리고 user를 생성해줍니다.
GRANT ALL PRIVILEGES ON *.* TO 'root'@'본인 외부 ip' WITH GRANT OPTION;
생성된 root 계정에 권한을 부여해줍니다.
select user, host from user;
user가 잘 생성 되었는지 확인을 해줍니다.
DB의 설정을 마무리 합니다.
프로젝트 내 설정
자신의 php.ini 파일의 설정을 우선 바꿔줘야 합니다.
extension=mysqli
extension=pdo_mysql
의 주석처리를 해제 합니다.
다음은 .env 파일을 건드려줍니다.
DB_CONNECTION=mysql
DB_HOST="외부 공인 ip"
DB_PORT=3306
DB_DATABASE="내가 만든 데이터베이스명"
DB_USERNAME="내가 설정한 계정명"
DB_PASSWORD="내가 설정한 패스워드"
다음은 /config/database.php로 갑니다.
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '본인 외부 ip'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', ''),
'username' => env('DB_USERNAME', ''),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
다음은 /public/index.php를 설정합니다.
$mysqli = new mysqli('localhost', 'root', '내가 설정한 패스워드', '디렉토리명');
if($mysqli->connect_errno){
echo '[MySQL 연결 오류]';
} else {
echo '[MySQL 연결 성공]';
}
mysqli_close($mysqli);
MYSQL에서 자료를 불러오는데에 성공을 했다면 [연결 성공]이 나타날 것입니다.
다음은 /app/https/Controllers에 TestController.php파일을 하나 생성을 해줍니다.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class TestController extends Controller
{
public function testIndex()
{
$td = DB::select('select * from 테이블명');
return view('test', ['td' => $td]);
}
}
다음은 /routes/web.php로 갑니다.
<?php
use App\Http\Controllers\TestController;
Route::get('/test', [TestController::class, 'testIndex']);
TestController의 경로를 추가해줍니다.
그리고 /test를 통해서 사이트를 볼 수 있는 경로를 지정해 줍니다.
마지막으로 /resources/views 에 test.blade.php 파일을 만들어줍니다.
<body class="antialiased">
@foreach($td as $item)
NAME : {{ $item->name }} <br>
BIRTH : {{ $item->birth }} <br>
ID : {{ $item->id }} <br>
PW : {{ $item->pw }} <br>
EMAIL : {{ $item->email }} <br>
@endforeach
</body>
테이블 내 attribute들을 호출시켜서 페이지에 나오게 합니다.
완성된 결과
'PHP' 카테고리의 다른 글
PHP에 CSS 적용시키기 (0) | 2023.07.14 |
---|