1

I'm using postman to try and make an API post request:

http://127.0.0.1:8000/api/auth/register?name=corbin&email=corbin@example.com&password=password

There must be a database connecting because I can migrate my db just fine. Using php artisan tinker I can also add a new user just fine:

>>> $user = new User();
=> App\User {#3060}
>>> $user->name = "kyle";
=> "kyle"
>>> $user->email = "kyle@example.com"
=> "kyle@example.com"
>>> $user->email = "kyle@example.com";
=> "kyle@example.com"
>>> $user->password = bcrypt('password');
=> "$2y$10$VQ8i0wlUKOfMzz6s/AXNBekcAdDAah9EvCvLeOASu3t06x.eVMCFq"
>>> $user->save();
=> true
>>> User::all();
=> Illuminate\Database\Eloquent\Collection {#3080
     all: [
       App\User {#3081
         id: 1,
         name: "kyle",
         email: "kyle@example.com",
         email_verified_at: null,
         created_at: "2020-04-29 06:15:03",
         updated_at: "2020-04-29 06:15:03",
       },
     ],
   }

However when I try and create a record in postman I get this:

Illuminate\Database\QueryException: SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO) (SQL: insert into users (name, email, password, updated_at, created_at) values (kyle, kyle@example.com, $2y$10$QfVSBr67zOJldKrxqjVVsO9pZ5QV9qOkvoCH./FPRZfSRVo1A4GqC, 2020-04-28 08:53:51, 2020-04-28 08:53:51)) in file /Applications/MAMP/htdocs/laravel-vue-spa/vendor/laravel/framework/src/Illuminate/Database/Connection.php on line 671

Here's my AuthController:

public function register(Request $request)
    {


        /*$request->validate([
            'name' => 'required|string|max:255',
            'email' => 'required|string|email|max:255|',
            'password' => 'required|string|min:6|confirmed'
        ]);*/

        $user = new User();
        $user->name = $request->name;
        $user->email = $request->email;
        $user->password = bcrypt($request->password);

        $user->save();

        /*if($user->save()){
            return response()->json([
                'message' => 'User was successfully created.',
                'status_code' => 201
            ], 201);
        } else {
            return response()->json([
                'message' => 'An error occured. Please try again.',
                'status_code' => 500
            ], 500);
        } */
    }

.env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_spa
DB_USERNAME=root
DB_PASSWORD=password

I also tried switching DB_HOST=localhost. In Sequel Pro my privileges are set to super. I've also tried doing a GET request for User::all(); same ordeal.

Edit 1

config/database.php

'mysql' => [
            'driver' => 'mysql',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => null,
            'options' => extension_loaded('pdo_mysql') ? array_filter([
                PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
            ]) : [],
        ],

I have also ran php artisan config:clear and php artisan optimize:clear

Kyle Corbin Hurst
  • 917
  • 2
  • 10
  • 26

0 Answers0