How to find repeating records effectively?
Is this sql the fastest way to find out if the user registered or not?

It's close enough.
If the table is indexed on englishname (and, preferably, idcard as well) then yes.  Indeed, if those two uniquely identify each row, then they really ought to be the Primary Key of the table.
If the table is not indexed, then it really ought to be.
However ...
Never use &quot;select *&quot; in Production code.
Never use raw, User-supplied values directly in dynamically generated SQL.
Doing so is one of the quickest ways to get your table and, possibly, your whole database well-and-truly fouled up.  The problem is known as an SQL Injection Attack and your code is wide open to one.
Obligatory XKCD Reference: Little Bobby Tables.
Your best plan would be to move to using Prepared/Parameterised Statements but, failing that, you must &quot;escape&quot; the values from the User so that they form valid and safe SQL.