Php SQLSTATE[HY000][1049]未知数据库';拉维尔';
我在尝试将对象保存到DB时遇到此错误 SQLSTATE[HY000][1049]未知数据库“laravel”(SQL:插入Php SQLSTATE[HY000][1049]未知数据库';拉维尔';,php,mysql,laravel,laravel-5.8,Php,Mysql,Laravel,Laravel 5.8,我在尝试将对象保存到DB时遇到此错误 SQLSTATE[HY000][1049]未知数据库“laravel”(SQL:插入卡中(卡价格,活动,更新时间,创建时间)值(0,1199-10-10 15:14:432019-10-10 15:14:43)) .env DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=cardgame DB_USERNAME=root DB_PASSWORD=P@assword1! Datab
卡中(卡价格,活动,更新时间,创建时间)值(0,1199-10-10 15:14:432019-10-10 15:14:43))
.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=cardgame
DB_USERNAME=root
DB_PASSWORD=P@assword1!
Database.php
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_T_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 function generateCards()
{
$card = new Card();
$card->card_price = 0;
$card->active = 1;
$card->save();
}
Route::get('/generate-cards', 'CardController@generateCards');
class Card extends Model
{
protected $guarded =[];
}
CardController.php
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_T_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 function generateCards()
{
$card = new Card();
$card->card_price = 0;
$card->active = 1;
$card->save();
}
Route::get('/generate-cards', 'CardController@generateCards');
class Card extends Model
{
protected $guarded =[];
}
Web.php
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_T_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 function generateCards()
{
$card = new Card();
$card->card_price = 0;
$card->active = 1;
$card->save();
}
Route::get('/generate-cards', 'CardController@generateCards');
class Card extends Model
{
protected $guarded =[];
}
Card.php
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_T_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 function generateCards()
{
$card = new Card();
$card->card_price = 0;
$card->active = 1;
$card->save();
}
Route::get('/generate-cards', 'CardController@generateCards');
class Card extends Model
{
protected $guarded =[];
}
迁移文件
public function up()
{
Schema::create('cards', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('card_price');
$table->integer('active');
$table->timestamps();
});
}
我尝试了清除缓存,还将DB\u密码
编辑为DB\u密码
,因为这纠正了之前的类似问题。仔细检查了数据库名、密码等,其他项目也已经在运行。我想不出来
转到本地主机服务器并删除数据库,然后重新创建一个名为cardgame的新数据库
public function up()
{
Schema::create('cards', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('card_price');
$table->integer('active');
$table->timestamps();
});
}
转到控制台中的laravel项目,并运行php artisan config:cache
命令。这样就可以使用所有的env变量
运行php-artisan:migrate
,为数据库运行迁移并创建表
如果按此顺序执行上述3个步骤,则应该可以。您必须清除缓存,因为您的旧配置位于缓存文件中,只需在终端中运行此命令即可清除缓存:
php artisan config:cache
你可以通过两个简单的步骤来解决这个问题
步骤:1php artisan配置:缓存
步骤:2php artisan migrate我遇到了同样的问题,我按照以下步骤解决了它:
1)停止服务器
2)运行php-artisan-config:clear。此命令行将删除
bootstrap\cache\config.php文件
3)启动服务器,现在应该可以正常工作了向我们展示卡的型号,并运行php artisan config:cache
命令您是否尝试过通过cardgame
直接将database.php
键更改为database.php
文件?@pr1nc3 php artisan config:cache完成了任务。感谢you@Goms不,但forge也会有同样的价值,对吧?很高兴我帮了忙。发布了当您想从头开始创建新数据库并迁移表时应采取的步骤的完整答案。它也可以方便其他用户使用。