Your version of PHP is older than the version of MySQL you are trying to connect with. MySQL upped the security on their password loggin quite some time ago, so (since all loggin attempts are sent encrypted) any attempt to log in using the old encryption will result in this failure (the error message is essentially telling you that it has detected this fact: the encrypted password string that has been sent is simply too short to have been encoded using the new encryption).
Consider either upgrading your copy of PHP (and, thus, the client libraries it ships witrh), or encode your client password at the mysql end using the old_password function:
i.e. UPDATE mysql.users SET Password=old_password('whateveryourpasswordis') WHERE User='whateveryourremorteuseris' AND Host='whateveryourremotehostis';
This will get you loggged in, and will do in a test environment. In a live environment, you'd upgrade your copy of PHP, of course: ssimple.