状況
「気づけばプロ並みPHP改訂版ーーゼロから作れる人になる」を勉強中、Insert文でデータを挿入したところ上記のエラーが発生
原因
調べてみたところ、エラーメッセージの意味は「データの文字数が長すぎる」
→しかし、passwordをいくら短くしてもエラーが発生
→password_hash()によって保存されるデータが長くなってることが原因だと気づく
解決法
passwordカラムのデータ型をvarchar(30)からとりあえずTEXTに変更
PHPのリファレンスによるとvarchar(255)が適切だそう
Discussion