First, echo $q and you will see that you haven't correctly sliced $_POST, as it's $_POST['mail'] with quotation marks. That's how you reference keyed arrays.
Second, don't do string concatenation for database queries (or use mysql_): mysql_* functions are deprecated and potentially dangerous and will eventually stop working. Use PDO instead. Otherwise, you will be refactoring everything at some point, and will be introducing known vulnerabilities into your code.
See "How to prevent SQL injection in PHP?", a question from 2008, and Give me parameterized SQL, or give me death, from 2005.
EDIT:
What's your goal? Counting the number of entries that have a given email, right? Not retrieving everything from the database. MySQL has a COUNT function for this purpose: SELECT COUNT(mail) FROM info WHERE mail = ?1 (that's the prepared statement version, read up on it). Then, your result will contain only one row, which itself will be the number of rows in the database that matches your query. It's much more efficient to push this sort of logic to the database than to do it in PHP, especially or big databases.
Now, the obvious and more pressing problem would seem to be that your query is failing. If you open up a MySQL shell and type in select * from info where email='email@example.com'; do you get a result, or an error? Probably an error. Are you sure there is a table called info? Are you sure you're connected to the right database? The other linked question above addresses these problems.