ユーザー名とメールの列に一意の制約を定義します:
ALTER TABLE your_table ADD CONSTRAINT uk_username UNIQUE (username)
ALTER TABLE your_table ADD CONSTRAINT uk_email UNIQUE (email)
挿入または更新しようとしている値がテーブルにすでに存在する場合、MySQLは、クエリが適切な一意の制約(おそらく両方)に違反していることを示すエラーを返します。これを適切に処理するようにPHPを設定するのはあなた次第です。