Php 使用databasequery(Laravel)插入记录
我试图用databasequery插入记录,但当我提交表单时,我出现了这个错误,我不知道为什么 我在web.php中尝试了以下代码: web.php:Php 使用databasequery(Laravel)插入记录,php,mysql,database,laravel,Php,Mysql,Database,Laravel,我试图用databasequery插入记录,但当我提交表单时,我出现了这个错误,我不知道为什么 我在web.php中尝试了以下代码: web.php: <?php use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; Route::post('/nav-store',function(Request $request){ $data = array('nav-name ' => $reques
<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
Route::post('/nav-store',function(Request $request){
$data = array('nav-name ' => $request['nav-name'],'nav-url' => $request['nav-url'],'nav-class' => $request['nav-class']);
$query_insert= DB::table('nav')->insert($data);
});
here is the error:
==============
>SQLSTATE[42S22]: Column not found: 1054 Unknown column 'nav-name ' in 'field list' (SQL: insert into `nav` (`nav-name `, `nav-url`, `nav-class`) values (dsdd, sdsd, sdsd))
==============
为了节省时间,可以使用
$nav = new ModleName;
$nav->nav_name = $request->navName;
$nav->nav_url = $request->navUrl;
/// so on
$nav->save();
就这样!非常容易查看和排除故障
编辑:正如lagbox指出的,破折号不好用,请在数据库中使用u。删除导航名称后的空格。。。它应该可以工作…旁注:php将把那些连字符,-
,作为减法运算符来读取,所以您不能这样使用它们