【问题标题】:Laravel No database selectedLaravel 没有选择数据库
【发布时间】:2019-09-05 12:52:22
【问题描述】:

我只是无法在 laravel 中连接我的数据库,这给了我一个错误

SQLSTATE[3D000]:无效的目录名称:1046 未选择数据库(SQL:选择 count(*) 作为来自电子邮件 = 的用户的聚合) .env 我的数据库名称是=empty

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=empty
DB_USERNAME=root
DB_PASSWORD=

数据库.php

 'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'empty'),
        'username' => env('DB_USERNAME', 'root'),
        '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'),
        ]) : [],
    ],

谢谢你。

【问题讨论】:

  • 你有一个名为empty的数据库吗?
  • 是在 phpmyadmin 上创建的
  • 你到底为什么要把你的数据库命名为empty你没有别的名字吗?我觉得empty这个词是保留字,应该改用别的名字
  • 是的,我尝试了很多名称,因为我昨天遇到了这个问题,我正在尝试使用不同的名称
  • 你的项目是关于什么的?你的项目名称是什么?

标签: php laravel


【解决方案1】:

您根本不应该在表、列、函数、存储过程、视图、数据库的名称中使用保留关键字。

请在下面找到 MySQL 中保留关键字的链接。

https://dev.mysql.com/doc/refman/8.0/en/keywords.html#keywords-removed-in-current-series.

如果仍然面临一些问题。遵循以下命令。

  1. 作曲家更新
  2. 作曲家转储自动加载
  3. php 工匠配置:缓存
  4. php工匠视图:清除
  5. php 工匠路线:清除

【讨论】:

  • 这是评论,不是答案。尽管最佳做法是不使用特定的词,但通过创建一个名为 empty 的表不存在技术问题。没问题,你的回答也不能解决 op 的问题。
  • @DanFromGermany 感谢您解决问题。但是您应该访问我在回答中提到的链接。我觉得我的回答肯定能解决 OP 所要求的问题。所以发布了答案。
  • empty 不是 MySQL 8.0 之前的保留名称我非常怀疑这是实际问题。
  • 判断 op 的配置将是 DOUBT 雷达下的 DEBATE
  • 答案实际上是部分正确的,因为无论您对 env 文件进行了多少更改,如果不清除以上所有内容,更改都不会反映,您将尝试修复已经存在的问题已经解决了。
猜你喜欢
  • 2017-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-31
相关资源
最近更新 更多