www-data je uživatel Debianu, který spouští apache a php. Pokud se pokusíte o dotaz, když nemáte platné připojení, php/mysql se pokusí vytvořit připojení pomocí <unix-user>@localhost bez hesla. Zde je example@sqldat.com (using password:NO) pochází z.
Nejpravděpodobnějším důvodem, proč se to začalo dít nyní (ačkoli to před 2 roky fungovalo dobře), je to, že zatížení vaší databáze se zvýšilo do bodu, kdy některá připojení nemohou uspět (pravděpodobně kvůli max_connections nebo max_user_connections; ačkoli to může také vyplývat z jiných omezení, jako je paměť, vlákna atd.). Když k tomu dojde, zavoláte mysql_connect zobrazí chybovou zprávu a vrátí FALSE . Pokud se vám nepodaří detekovat toto selhání, pak se vaše další volání mysql (pravděpodobně mysql_query nebo mysql_select_db) pokusí o připojení k example@sqldat.com
-- což způsobuje problém, který vidíte.
Navrhuji povolit hlášení chyb a zobrazení chyb (jak navrhuje @DarkMantis):
ini_set('error_reporting', E_ALL|E_STRICT);
ini_set('display_errors', 1);
Také se ujistěte, že vaše volání na mysql_connect není před kterým je @ podepsat; a nezapomeňte zkontrolovat návratovou hodnotu. Mělo by to vypadat nějak takto:
$cxn = mysql_connect('localhost','yourusername','yourpassword');
if( $cxn === FALSE ) { die('mysql connection error: '.mysql_error()); }