「PHP7+MariaDB/MySQLマスターブック」というテキストを使って独学中です。
テキスト内のサンプルプログラムをコーディングすると、表題のエラーになります。

<?PHP

//ユーザー、パスワード、ホストは秘匿。別途設定中。
$db_user = "xxxxxxxxx";
$db_pass = "xxxxxxxxx";
$db_host = "xxxxxxxxx";
$db_name = "phptx";
$db_type = "mysql";

$dsn = "$db_type:host=$db_host;db_name=$db_name;charset=utf8";

try{
    $pdo = new PDO($dsn, $db_user, $db_pass);
    $pdo->setattribute(pdo::ATTR_ERRMODE,
                pdo::ERRMODE_EXCEPTION);
    $pdo->setattribute(pdo::ATTR_EMULATE_PREPARES, false);
    print "接続しました";

} catch(PDOexception $Exception) {
    die('エラー1:'.$exception->getMessage());

}

try{
    $pdo->beginTransaction();
    $sql = "insert into member (last_name, first_name, age) values (:last_name, :first_name, :age)";
    $stmh = $pdo->prepare($sql);
    $stmh->bindvalue(':last_name', $_post['last_name'], pdo::param_str);
    $stmh->bindvalue(':first_name', $_post['first_name'], pdo::param_str);
    $stmh->bindvalue(':age', $_post['age'], pdo::param_int);
    $pdo->execute();
    $pdo->commit();
    print"データを".$stmh->rowcount()."件挿入しました。<br>";
} catch (PDOException $exception) {
    $pdo->rollback();
    print"エラー2:".$exception->getMessage();
}

?>

MySQLへの接続はできているようなのですが、DBの選択がなされていないようです。
DB(スキーマ)phptxと、テーブルmemberはMySQL上に存在していることは確認済みです。
ファイルの実行結果は

接続しましたエラー2:SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected

となります。ご教示いただきたく、よろしくお願い申し上げます。