Dzieje się tak, ponieważ mysql_connect używa niektórych wartości domyślnych podczas łączenia, którymi powinien być root
dla nazwy użytkownika i pustego ciągu dla hasła, jeśli dobrze je pamiętam. Alternatywnie może to być nazwa użytkownika, pod którą działa serwer WWW.
Może to oznaczać, że serwer db akceptuje połączenia root bez hasła (z maszyny serwera WWW), co jest dość niebezpieczne. Powinieneś przejrzeć konfigurację bazy danych i listę użytkowników.
Z punktu widzenia bezpieczeństwa twój kod nie jest zbyt bezpieczny, poświadczenia db są przesyłane w postaci zwykłego tekstu i z reguły poświadczenia db nie powinny być wprowadzane przez użytkowników końcowych (chyba że piszesz narzędzie podobne do PhpMyAdmin).