Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将laravel与mySQL连接_Php_Mysql_Laravel - Fatal编程技术网

Php 如何将laravel与mySQL连接

Php 如何将laravel与mySQL连接,php,mysql,laravel,Php,Mysql,Laravel,我读了一些教程和视频。我刚刚下载并安装了laravel。正在尝试创建一个简单的注册表 欢迎使用.blade.php <form action="{{URL::to('/store')}}" method="post"> {{csrf_field()}} <input type="text" name="clientFirstname" > <input type="text" name="clientSurname" >

我读了一些教程和视频。我刚刚下载并安装了laravel。正在尝试创建一个简单的注册表

欢迎使用.blade.php

<form action="{{URL::to('/store')}}" method="post">
       {{csrf_field()}}
       <input type="text" name="clientFirstname" >
       <input type="text" name="clientSurname" >
       <input type="text" name="clientEmail">
       <input type="hidden" name="token" value="">
       <button type="submit" name="button">add</button>
</form>
Controller.php

class Controller extends BaseController {

    public function store(Request $request) {
        //print_r ($request->input());
        //print_r ($request->input('clientFirstname'));
        $result=DB::insert("INSERT INTO test('firstname', 'surname', 'email') VALUES(?, ?, ?)", $request->input('clientFirstname'), $request->input('clientSurname'), $request->input('clientEmail'));
        echo $result;
    }
}
环境署署长

database.php

        'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', 'localhost'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'testdb'),
        'username' => env('DB_USERNAME', 'root'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => null,
        ],
我已经通过phpmyadmin创建了一个名为testdb的数据库。让我告诉你,我可以打印表单字段,但是当我像上面那样将代码插入数据库时,我得到了以下错误

Symfony\Component\Debug\Exception\FatalThroTableError (E_可恢复错误)类型错误:参数1传递给 Illumb\Database\Connection::prepareBindings()必须为以下类型 数组,给定字符串,在中调用 C:\Users\regor\ExampleProject\vendor\laravel\framework\src\lighted\Database\Connection.php 在线665

如果有任何帮助,我将不胜感激。:)

DB::insert()方法接受数组作为第二个参数

您应该这样使用它:

DB::insert("INSERT INTO test(`firstname`, `surname`, `email`) VALUES(?, ?, ?)", [
    $request->input('clientFirstname'),
    $request->input('clientSurname'),
    $request->input('clientEmail')
]);

此外,对列标识符使用反勾号,而不是单引号。

查询中还有另一个问题。你应该读这篇文章。谢谢你的零钱。:)
        'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', 'localhost'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'testdb'),
        'username' => env('DB_USERNAME', 'root'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => null,
        ],
DB::insert("INSERT INTO test(`firstname`, `surname`, `email`) VALUES(?, ?, ?)", [
    $request->input('clientFirstname'),
    $request->input('clientSurname'),
    $request->input('clientEmail')
]);