Php 如何将laravel与mySQL连接
我读了一些教程和视频。我刚刚下载并安装了laravel。正在尝试创建一个简单的注册表 欢迎使用.blade.phpPhp 如何将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" >
<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')
]);