我已经在我的Linux Mint 20上安装了Laravel 8作为我的个人实验,所以我是Laravel新版本的新手。我已经搜索了许多来源如何显示表与CRUD方法,使表显示在网页上包含数据从MySQL数据库
但是当我尝试使用CRUD方法显示表时,它看起来像这样:
Illuminate\Database\QueryException找不到驱动程序(SQL:select * from list
)
在localhost:8000/home/tabel
我试图解决这个问题,从修复.env文件,控制器文件,刀片文件,和web.php是正确的,但它仍然错误。
这是我的配置文件,我这样修改:
.env
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=people
DB_USERNAME=root
DB_PASSWORD=
homeController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class homeController extends Controller
{
public function home()
{
return "home";
}
public function tabel()
{
$tabelku = DB::table('list')->get();
return view('tabel', ['people' => $tabelku]);
}
}
tabel.blade.php
<!DOCTYPE html>
<html>
<head>
<title>Table</title>
</head>
<body>
<div align="center">
<table border = "1">
<tr>
<th>No</th>
<th>Name</th>
<th>Age</th>
<th>Hobby</th>
</tr>
@foreach($tabelku as $t)
<tr>
<th>{{$t->no}}</th>
<th>{{$t->name}}</th>
<th>{{$t->age}}</th>
<th>{{$t->hobby}}</th>
</tr>
@endforeach
</table>
</div>
</body>
</html>
然后是web.php
<?php
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Route::get('/hello', function () {
return 'Halo Dunia';
});
Route::get('/home','homeController@home');
Route::get('/home/tabel','homeController@tabel');
这是数据库和表,我用来显示来自CRUD方法的表-> x1c 0d1x
对于MySQL数据库,我使用XAMPP
有人能解释为什么这是错误,并给予我解决方案,我应该做什么来修复这个?
2条答案
按热度按时间qni6mghb1#
只需要为PHP-MySQL安装合适的驱动程序:
重新启动服务器:
rsaldnfx2#
这适用于使用共享主机的用户,其中SSH设施可能不可用。
转到Cpanel PHP设置,并确保启用了以下功能(尤其是PHP 8.0或更高版本)。
mysqli pdo
因为控制器中laravel的“DB”和“Models”需要启用这些功能。否则,控制器将引发DRIVER NOT FOUND异常。