Hi!
Warning: mysql_query() [function.mysql-query]: Access denied for user 'www-data'@'localhost' (using password: NO) in /var/www/xxx.php on line 14
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /var/www/xxx.php on line 14
Hier beschwert sich ein mysql_query(), dass keine Verbindung geöffnet ist. Wenn du keine Verbindungskennung übergibst, wird eine offene gesucht - was wohl misslang - oder mit Default-Daten eine zu erstellen versucht. Das ging auch nicht, deswegen die Meldungen.
Diese Meldungen kommen also nur dann, wenn keine Verbindung besteht. Du bist also in deinem Programmfluss gar kein mysql_connect() ausgeführt.
Bei meiner Recherche habe ich zwar rausgefunden dass sich bei der Datenbankverbindung in PHP5 etwas geändert hat, aber so richtig verstehen tue ich es nicht.
Da du nicht genau sagst, was du da gelesen hast, kann ich nur raten, dass es die Lizenzgeschichte ist und die hat keine Auswirkungen auf die Handhabung innerhalb von PHP-Code.
@$connect=mysql_pconnect("$db_host", "$db_user", "$db_pass") or die ("Nix geht Datenbankverbindung konnte leider nicht hergestellt werden");
Nicht die Zuweisung sondern der Connect kann Fehler melden, weswegen das @ besser vor dem Funktionsnamen aufgehoben wäre. Aber wenn du schon Fehler suchst, dann solltest du sie nicht unterdrücken.
Warum verwendest du Variablennamen in Anführungszeichen? Du kennst die Konsequenzen, die sich aus einen persistenten Datenbankverbindung ergeben, und die Bedingungen, die dafür erfüllt sein müssen?
Lo!