I have no problem connecting to a database using PHP however in some scripts I have tested, I have seen a small difference in the connect command.
What is the differenc
It is the/an error control operator. It simply allow you to suppress the error.
I would suggest that you omit it in your code.
From documentation:
Currently the "@" error-control operator prefix will even disable error reporting for critical errors that will terminate script execution. Among other things, this means that if you use "@" to suppress errors from a certain function and either it isn't available or has been mistyped, the script will die right there with no indication as to why.