我正在尝试通过其中包含表单的视图将值插入到sqlite数据库中。此视图调用Task_controller类中的insert方法,这会导致以下错误
SQLSTATE [HY000] [2002]无法建立连接,因为目标计算机主动拒绝它。
(SQL:插入task
(Title
,Completed
,Description
,created_at
,updated_at
)值(kfjjklsjfl,bnm,mnm,2017 -03-20 12:57:31,2017-03-20 12:57:31))
但是当我使用“php artisan tinker”将行插入表格时,它们就没有错误。
我的create_task.blade.php文件是这样的,它里面有html代码
<!DOCTYPE html>
<html>
<body>
<h1>Create Task</h1>
<form action="/insert">
Title:<br>
<input type="text" name="Title">
<br>
Completed:<br>
<input type="text" name="Completed">
<br>
Description:<br>
<input type="text" name="Description">
<br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
我的路线文件就像这样
Route::get('/', function () {
return view('task');
});
Route::get('/create_task', function () {
return view('create_task');
});
Route::get('/decide', "Task_Controller@decide");
Route::get('/insert', "Task_Controller@insert");
我的控制器文件是这样的。
<?php
namespace App\Http\Controllers;
use DB;
use DateTime;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Input;
class Task_Controller extends Controller
{
public function insert()
{
$Title = Input::get('Title');
$Completed = Input::get('Completed');
$Description = Input::get('Description');
$insert=DB::table('task')->insert(['Title' => $Title,'Completed' => $Completed,'Description'=> $Description,'created_at' => new DateTime ,'updated_at'=>new DateTime]);
if($insert)
echo"Successfully inserted";
else
echo "error";
}
}
我的env文件就像这样
APP_ENV=local
APP_KEY=base64:dpAJ8RO+F4IaiahWWlSUDI9v4nju442zeFEBHmh42XM=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost
BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
请帮助我无法弄清楚,为什么会出现此错误。
答案 0 :(得分:3)
一切都很好。 关闭laravel服务器并再次打开它为我做了诀窍 !!!!!!!!! :P)
如果您处于一切看起来很好的情况,那么您必须至少尝试关闭laravel服务器并再次尝试打开它。