“我已在config / database.php中创建了mysql2,其中包含第二数据库的详细信息,并且还在.env文件中进行了更改。如何编写查询,以便必须使用database2的ID和密码登录?” >
“我正在运行PHP 7.3和XAMPP的localhost上工作。我试图从两个数据库中获取数据,但是尝试登录时却遇到了同样的问题。”
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=travelreport
DB_USERNAME=root
DB_PASSWORD=
DB_CONNECTION=mysql_external
DB_EXT_HOST=127.0.0.1
DB_PORT=3306
DB_EXT_DATABASE=tools_bta
DB_EXT_USERNAME=root
DB_EXT_PASSWORD=
config / database.php
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'travelreport'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
'mysql_external' => [
'driver' => 'mysql',
'host' => env('DB_EXT_HOST', 'localhost'),
'database' => env('DB_EXT_DATABASE', 'tools_bta'),
'username' => env('DB_EXT_USERNAME', 'root'),
'password' => env('DB_EXT_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
MainController.php文件
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Auth;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Http\Requests\CreateUserRequest;
use UxWeb\SweetAlert;
use App\LegonUser;
use Request;
use Alert;
use DB;
class LegonUserController extends Controller
{
//
public function index()
{
# code...
return view('login');
}
public function LegonSignin() {
$input = Request::all();
//$database = LegonUser::on('mysql2')->select('*')->where($user_data ,'=', $user_data)->get();
$legonModel = new LegonUser;
$legonDB = \DB::connection('mysql_external');
$logindata = $legonDB->table('emp_username_db')->get();
$user_data = array(
'id' => $input['id'],
'pass' => $input['pass']
);
if (Auth::attempt($user_data)) {
print_r($user_data);
// return redirect('/');
}else {
return redirect()->back()->withErrors($user_data);
}
}
如果条件为,将Auth :: attempt放入时出现的错误是:
(2/2) QueryException
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'tools_bta.users' doesn't exist (SQL: select * from `users` where `id` = EMP01 and `pass` = 123456 limit 1)