Illuminate\Database\QueryException 找不到驱动程序
Posted
技术标签:
【中文标题】Illuminate\\Database\\QueryException 找不到驱动程序【英文标题】:Illuminate\Database\QueryException could not find driver [duplicate]Illuminate\Database\QueryException 找不到驱动程序 【发布时间】:2020-12-26 06:12:55 【问题描述】:Illuminate\Database\Connection::runQueryCallback C:\wamp\www\LaravelProject\vendor\laravel\framework\src\Illuminate\Database\Connection.php:671
错误:
照亮\数据库\查询异常
SQLSTATE [42S02]:未找到基表或视图:1146 表 'db_laravel.registers' 不存在(SQL:插入registers
(name
,email
,updated_at
,created_at
)值( dfmgkm, kmfgk, 2020-09-08 04:56:41, 2020-09-08 04:56:41))
“由于连接失败,我无法向 mysql 插入值,这是 Connection.php 文件中的错误,但我的迁移成功”
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_laravel
protected function runQueryCallback($query, $bindings, Closure $callback)
try
$result = $callback($query, $bindings);
catch (Exception $e)
throw new QueryException(
$query, $this->prepareBindings($bindings), $e
);
return $result;
【问题讨论】:
您得到的完整错误是什么?以及.env
文件中DB_CONNECTION
的值是什么
Illuminate\Database\QueryException SQLSTATE[42S02]:未找到基表或视图:1146 表 'db_laravel.registers' 不存在(SQL:插入registers
(name
,@ 987654331@, updated_at
, created_at
) 值 (dmf, ldfmgk, 2020-09-08 05:38:45, 2020-09-08 05:38:45)) DB_CONNECTION=mysql
检查registers
表是否存在于您的数据库和迁移文件中,如果表名没有拼写错误。
【参考方案1】:
尝试这样做
composer update
composer require doctrine/dbal
【讨论】:
你提示的这两件事我都做了,但是又出现了错误,没有清除。【参考方案2】:这发生在我从 php8.0 升级到 php8.1 之后。解决方案是为较新版本安装 php 扩展。就我而言:
sudo apt install php8.1-imagick,bz2,curl,gd,mysql,opcache,xml
在你的情况下,你可能只需要
sudo apt install phpX.X-mysql
X.X 是你的 php 版本
【讨论】:
以上是关于Illuminate\Database\QueryException 找不到驱动程序的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 查询错误 - 调用未定义的方法 Illuminate\Database\Query\Builder::query()
调用未定义的方法 Illuminate\Database\Query\Builder::when()
BadMethodCallException : 方法 Illuminate\Database\Query\Builder::offers 不存在
Laravel:调用未定义的方法 Illuminate\\Database\\Query\\Builder
调用未定义的方法 Illuminate\Database\Query\Builder::unique()
“使用 Laravel 调用未定义的方法 Illuminate\\Database\\Query\\Builder::users() [关闭]