データベース名がコードに反映されていないと思います。以下のようにコードを変更してみてください
$dbname = "my_db";
$dsn = "mysql:host=localhost;dbname="+$dbname+";
または
$dsn = "mysql:host=localhost;dbname=my_db;
データベース名がコードに反映されていないと思います。以下のようにコードを変更してみてください
$dbname = "my_db";
$dsn = "mysql:host=localhost;dbname="+$dbname+";
または
$dsn = "mysql:host=localhost;dbname=my_db;