MySQL

Ich habe meine Seite während des Programmieren local auf meine Rechner mittels xampp betrieben.
Als ich sie heute online stellen wollte, hatte ich allerdings große Probleme mit der Datenbank.

Ich habe schon 2 Varianten versucht um die Daten aus der Datenbank auszulesen:

[code]
$connection=mysql_connect($host, $user, $password) or die

(“Verbindungsversuch fehlgeschlagen”);

mysql_select_db($dbase, $connection) or die("Konnte die Datenbank nicht

waehlen.");

$sql = “SELECT * FROM $tab ORDER BY id DESC LIMIT 20”;

$adressen_query = mysql_query($sql) or die(“Anfrage nicht erfolgreich”);

$anzahl = mysql_num_rows($adressen_query);[/code]

Ich erhalte folgende Fehlermeldung: Anfrage nicht erfolgreich

Die zweite Variante:

[code]
$db=mysql_connect ($host,$user,$password);

$res=mysql_db_query ($dbase,“SELECT * FROM $tab ORDER BY id DESC LIMIT 20”);

$num=mysql_num_rows ($res);

mysql_close($db);[/code]

Die Fehlermeldung die ich hier erhalte:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /users/username/www/last20updates_output.php on line 9

Zeile 9 ist folgende Zeile:

Meine Frage an euch ist nun, an was dieses Problem liegen könnte und ob dies vl schon ein bekanntes oder schnell gelöstet Problem ist?

mfg cameholz22

Herzlich Willkommen bei bplaced.net!
Ich frage mich wie der Code Local funktionieren soll, da die Variable $tab als Text dargestellt wird.

[code]
$db = mysql_connect ($host,$user,$password);
mysql_select_db($dbase);

$res=mysql_query (“SELECT * FROM " . $tab . " ORDER BY id DESC LIMIT 20”);

$num=mysql_num_rows ($res);

mysql_close($db);[/code]

[quote=“wlfs”]Herzlich Willkommen bei bplaced.net!
Ich frage mich wie der Code Local funktionieren soll, da die Variable $tab als Text dargestellt wird.

[code]
$db = mysql_connect ($host,$user,$password);
mysql_select_db($dbase);

$res=mysql_query (“SELECT * FROM " . $tab . " ORDER BY id DESC LIMIT 20”);

$num=mysql_num_rows ($res);

mysql_close($db);[/code][/quote]

Leider funktioniert es auch nach der Umänderung in " . $tab . " nicht.

Lokal funktioniert die Variante von dir und die alle anderen Varianten auch.
Nur auf bplaced funktioniert weiterhin keine der Varianten ?!

Weiß jemand an was das liegen könnte ?

Hast du die Verbindungsdaqten auch so eingegeben?

Host/Server: locahost
Datenbankname: DEINEDATENBANK
Username: DEINEDATENBANK
PW: DEINPASSWORT

??

Ja meine config.inc.php Datei sieht wiefolgt aus:

<?php $host="localhost"; $user="user"; $password="passwort"; $dbase="selbe_wie_user"; $tab="tabelle"; ?>

Wie gesagt es funktioniert mit den selben Dateien lokal ja, dh die Übergabe etc. muss funktionieren.
Das einzige was vl Probleme macht ist das in meinem usernamen das zeichen “-” enthalten ist.
dh us-er.bplaced.net

Was gibst du als user ein, und wie heißt dein Datenbankname?

als user gebe ich den namen ein mit dem ich mein konto registriert habe

als datenbanknamen den selben da es die erste db ist !

hast du wohl in der datenbank daten abgelegt?
also exitieren die tabellen???

ja, alles genauso wie lokal angelegt
nur das es local funktioniert
und auf bplaced nicht.

öhm
wlfs sind file-mirros überhaupt auf bplaced erlaubt? :whata:

warum file mirrors ?

könnten wir bitte wieder auf die frage zurückkehren ?

weis jemand woran die Verbindung scheitern könnte ?

So ich weiß deinen Fehler!

Als User gibst du nicht deinen Usernamen sondern den Datenbanknamen ein :wink:

Dann funzt es auch :wink:

[quote=“wlfs”]So ich weiß deinen Fehler!

Als User gibst du nicht deinen Usernamen sondern den Datenbanknamen ein :wink:

Dann funzt es auch :wink:[/quote]

Versteh ich irgendwas falsch, oder macht sich da gerade ein Staff Mitglied über mich lustig ?

Username und Datenbankname ist ja das selbe oder ?

Nein ich glaube du verstehst mich falsch, schicke mir mal deinen Benutzernamen per PM von bplaced.net .

Mal eine blöde Frage:
Warum lässt du dir nicht eine vernünftige Fehlermeldung mittels
$adressen_query = mysql_query($sql) or die(mysql_error());
ausgeben?

Ginge wesentlich schneller als da jetzt blöd draufloszuraten wo der Fehler liegen könnte.

Danke für den Tipp habe ich gleich mal gemacht und bekomme nun folgende Fehlermeldung:

Nur finde ich keine Fehler ?!

Gib mal den generierten SQL-String mit echo aus. (Aber vor dem mysql_query)
Seh zzt. auch noch keinen Fehler.

$db = mysql_connect ($host,$user,$password); mysql_select_db($dbase); $res=mysql_query ("SELECT * FROM " . $tab . " ORDER BY id DESC LIMIT 20") or die (mysql_error()); echo $res; $num=mysql_num_rows ($res)

Es wird gar nichts ausgegeben mit echo !

hi,

schreib mal statt echo $res; folgendes und schreib dann, was das script ausgibt:

…offenbar ist $tab leer, was den fehler verursacht, bzw. scheint das ja mit “tabelle” belegt zu sein. ersetz doch bitte mal nicht deine angaben mit pseudo-text, eventuell werden da nämlich schlüsselwörter o.Ä. benutzt.

ciao

Klar, das die() beendet das Skript vorher.
Ich meinte auch aus der vorherigen Variante das $sql ausgeben.

$sql="SELECT…
echo $sql;
…mysql_query…

Verwendest du als Tabellennamen auch keine reservierten Wörter?

@miro: nach der Fehlermeldung nach steht in $tab “tabelle”, also leer is es nicht.