You don't need to target specific commands if you just ensure that the user can't inject commands, you do this by adding slashes, escaping semicolons, and escaping apostrophes. There is also a huge flaw in your pattern, anyone could inject a null comment '/%%/' and completely bypass your protection.
$_user = addslashes($user);
$_pass = addslashes($pass);
$sql = "...(whatever)... WHERE user = '$_user' AND pass = '$_pass' ";
For example...
$dbh->do("INSERT INTO users (first_name,last_name,username,password) VALUES (?,?,?,?)",{},$first_name,$last_name,$username,$password)