PhP mysql: account funktioniert nicht, was falsch?

ich habe einen Account für meine Seite erstellt.
mit php und mysql.
und zwar sieht mein mysql code so aus:
<?php
$mysqlhost = "localhost";
$mysqluser = "*****";
$mysqlpassword = "**********";
$mysqldb = " *****";
$con= @mysql_connect($mysqlhost,$mysqluser,$mysqlpassword);
$mysqldb1 = @mysql_select_db($mysqldb,$con);

?>
_____________________________________________

aber wenn ich das dann mit meiner seite hochlade, findet er bei meinem webhoster keinen mysql.
dann kommt immer:
Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /usr/export/www/vhosts/funnetwork/hosting/thisside/index.php on line 95

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /usr/export/www/vhosts/funnetwork/hosting/thisside/index.php on line 95

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/thisside/index.php on line 96

Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /usr/export/www/vhosts/funnetwork/hosting/thisside/index.php on line 114

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /usr/export/www/vhosts/funnetwork/hosting/thisside/index.php on line 1147
danke

pinguin_master2009-06-27T07:07:13Z

Beste Antwort

bist Du sicher, dass Dein Webhoster die Datenbank auf localhost liegen hat???

Normalerweise ist das für Deine Programmierung auf Deinem Computer

???? $mysqldb1 = @mysql_select_db($mysqldb,$con...
lass das $mysqldb1 weg.

Nur einfach: mysql_select_db($mysqldb,$con
..

@ to
Die @ unterdrücken Fehlermeldungen
Ich kenne nur einen Hoster. wo es mit localhost funktioniert.
Die anderen haben eigene Kennungen.


@to
Kannst Du auch überall in PHP einsetzen, wo es möglicherweise zu Fehlermeldungen aufgrund von programminternen Vorgängen kommt, die aber nicht relevant sind.
Beispielsweise ein Array sortieren das automatisch angelegt wird -> Termine sortieren

sort($termine);
wenn aber keine Termine da sind, kann sort nichts finden und gibt eine Fehlermeldung aus.

mit
@sort($termine);
erscheint keine Fehlermeldung.

Stephan W2009-06-28T13:41:20Z

@Tobi: Wer sagt dass der MySQL auf dem selben Host läuft? Oft ist es viel sinnvoller einen eigenen Datenbankserver zu haben, der nichts anderes macht. Dann muss statt 'localhost' natürlich die Adresse dieses Servers verwendet werden. Die Fehlermeldung klingt sehr danach, als ob auf localhost a) gar kein mysql-Server läuft oder b) der User des Webservers keine ausreichenden Zugriffsrechte auf /var/run/mysqld/mysqld.sock hat.
In beiden Fällen würde ich einfach mal beim Hoster nachfragen...

Anonym2009-06-27T15:13:45Z

@pinguin, localhost ist richtig, sofern vom Hoster nicht anders angegeben. Da das Script auf dem Server des Hosters ausgeführt wird, ist der MySQL-Host nunmal "localhost". Die "@" würde ich auch weglassen, wofür sind die eigentlich da? Ich würds so machen:

$hostname = "localhost";
$database = "*******";
$username = "*******";
$password = "*******";
$connectionlink = mysql_pconnect($hostname, $username, $password)
mysql_select_db($database, $connectionlink);

---
Das mit den @ wusste ich noch gar nicht, danke für die Info ;). Mir kam es bis jetzt viel öfter unter, dass die Datenbank lokal war, aber das kann in dem Fall tatsächlich wohl nur der Hoster wissen...