ゆらりとくまおう

自分の作りたいものを作れるようにゆるゆると

【PHP+MySQL】「General error: 1366 Incorrect string value」エラーの解決方法

PHP+MySQL(PHPMyAdmin)で開発をしている時に起こった

General error: 1366 Incorrect string value

このエラー…コードが間違っているのかと何回も見直したけど、間違っていたのはDBのテーブル設定の方だった


エラー該当箇所

$statemenにはSQL文が入っており、execute()がfalseになっています。

$statement->bindParam(':user_id', $user_id);
$statement->bindParam(':title', $title);
$statement->execute();
var_dump($statement->execute());   // false


原因&解決策

PHPMyAdminにテーブルを作成する際に、照合順序の指定が間違っていました。 正しく動かすには、utf8_general_ciにする必要があります。

❌ latin1_swedish_ci

⭕️ utf8_general_ci

f:id:EngineerKumao:20210914172425p:plain

また、既にテーブルを作成してから変更するならテーブルだけでなく、カラムの照合順序も変更します。

f:id:EngineerKumao:20210914172744p:plain

これで動きました;;