質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

14115閲覧

Laravelで自分で作ったUsersテーブルを使ってUser登録しようとするとパスワードが登録できない

lkjgffh

総合スコア37

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

1クリップ

投稿2018/01/16 04:03

###前提・実現したいこと
MysqlでDBとテーブルをあらかじめ作ってあったので、そのUsersテーブルを使ってLogin機能を実装しようとしています。

###発生している問題・エラーメッセージ
php artisan make:authで作った登録画面から登録しようとすると下記のようなエラーが出ます

String data, right truncated: 1406 Data too long for column 'password' at row 1 (SQL: insert into `users` (`password`) values ( $2y$10$NjY791fnZQqG8qwG6VA2nuM9RF2XzF2PhAxi1x38iAGA1zKupL8Fm))

###試したこと
自分が調べてめぼしを付けた原因としてはインサートとデータベースの文字コードが異なるために出現するエラーなのだと思いました。
そのためLaravelの設定にあった文字コード
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
に、データベースのほうをあわせました

パスワードカラムの設定です

`password` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,

データベースそのものの設定です

mysql> show variables like "chara%"; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | utf8mb4 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+

再起動してこの状態なのですが、依然として同じエラーの状態が続いています
こうした場合そのほかに調べるべきところはどこでしょうか?

###補足情報(言語/FW/ツール等のバージョンなど)
構築環境
Vagrant & Homestead
DB
mysql Ver 14.14
Laravel
Laravel Framework 5.5.25
php
PHP 7.2.0-1+ubuntu16.04.1+deb.sury.org+1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

エラーメッセージ通り長すぎるだけですよ。
Laravelデフォルトのpasswordはvarchar(255)なので
varchar(45)にしてるDBのほうを変更すればいいです。

投稿2018/01/16 04:09

kawax

総合スコア10377

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lkjgffh

2018/01/16 04:14

・・・・、なるほど。 気がつきませんでした、ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問