This is because you have used a parameter name "address" which has the same name as a column in the People table. So this line:
AND address = People.Address
is treated as:
AND People.address = People.Address
Therefore, only the "author" parameter is actually being used in the SELECT.
You should prefix your parameter names, either like this:
p_author
Or in the SQL like this:
AND CheckAuthor.address = People.Address