php Laravel 8 -找不到驱动程序:Illuminate\Database\QueryException找不到驱动程序(SQL:select * from `list`)

ix0qys7i  于 2023-05-16  发布在  PHP
关注(0)|答案(2)|浏览(332)

我已经在我的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
有人能解释为什么这是错误,并给予我解决方案,我应该做什么来修复这个?

qni6mghb

qni6mghb1#

只需要为PHP-MySQL安装合适的驱动程序:

# default
sudo apt install php-mysql
# for specific version of php (e.g. php7.4)
sudo apt install php7.4-mysql

重新启动服务器:

# apache
sudo systemctl restart apache2
# nginx
sudo systemctl restart nginx
rsaldnfx

rsaldnfx2#

这适用于使用共享主机的用户,其中SSH设施可能不可用。
转到Cpanel PHP设置,并确保启用了以下功能(尤其是PHP 8.0或更高版本)。
mysqli pdo
因为控制器中laravel的“DB”和“Models”需要启用这些功能。否则,控制器将引发DRIVER NOT FOUND异常。

相关问题