MySQL Fehlermeldung (mysql_fetch_assoc/mysql_fetch_object)

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /usr/export/www/hosting/windandfire/profile_include.php on line 12

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /usr/export/www/hosting/windandfire/profile_include.php on line 68

Dat sind die Fehlemerldungen die ich net kapier…

Script:

[php]<?php
if(isset($_GET[‚id‘]) && !empty($_GET[‚id‘]))
{
include ‚connect.php‘;

mysql_connect($host, $username, $passwort);
mysql_select_db($db);

$query = „SELECT * FROM bga_users WHERE id = {$_REQUEST[‚id‘]}“;
$result = mysql_query($query);

while ($row = mysql_fetch_assoc($result))
{
$error_msg = „“;
}
if (empty($row[„icq“]))
{
$row[„icq“] = „Keine Angabe“;
}
if (empty($row[„msn“]))
{
$row[„msn“] = „Keine Angabe“;
}
if (empty($row[„yahoo“]))
{
$row[„yahoo“] = „Keine Angabe“;
}
if (empty($row[„age“]))
{
$row[„age“] = „Keine Angabe“;
}
if (empty($row[„usertext“]))
{
$row[„usertext“] = „Keinen Benutzertext angegeben“;
}
if (empty($row[„userpic“]))
{
$row[„userpic“] = „no_avatar.gif“;
}
if (empty($row[„interests“]))
{
$row[„interests“] = „Keine Angabe“;
}
if (empty($row[„living“]))
{
$row[„$living“] = „Keine Angabe“;
}
if (empty($row[„bewertung“]))
{
$row[„bewertung“] = „Bis jetzt 0 Punkte“;
}
if (!empty($row[„bewertung“]))
{
$row[„bewertung“] .= „Punkte“;
}
switch ($row[„userlevel“])
{
case 0:
$row[„userlevel“] = „User“;
break;
case 1:
$row[„userlevel“] = „Administrator“;
break;
}

$query = „SELECT email FROM bga_emails WHERE id = user{$_REQUEST[‚id‘]}“;
$result = mysql_query($query);
while ( $row = mysql_fetch_object($result));
{
$email = $row->email;
}

echo „

Profil von {$row[‚username‘]}
{$error_msg}
<img src=‚{$row[‚userpic‘]}?‘ alt=‚{$row[‚username‘]}s Benutzerbild‘>
Rang: {$row[‚userlevel‘]}
Persönliche Daten:
Alter: {$row[‚age‘]}
Wohnort: {$row[‚living‘]}
Interessen: {$row[‚interests‘]};

Kontaktmöglichkeiten:
eMail-Adresse: {$row[‚email‘]}
ICQ: {$row[‚icq‘]}
MSN: {$row[‚msn‘]}
Yahoo!: {$row[‚yahoo‘]}

Sonstige Angaben
Usertext: {$row[‚usertext‘]}
Bewertung: {$row[‚bewertung‘]}
Ingame-Punkte: {$row[‚punkte‘]}
“;
} else {
$error_msg = „Der gesuchte Benutzername existiert nicht.“;
echo $error_msg;
}

?>[/php]

Mod Edit - Titel geändert (boehseronkel)

Erstmal warne ich Dich !
Sollte mir nochmal so ein Titel vorkommen, werde ich andere Maßnahmen ergreifen !

[php]

<?php if(isset($_GET['id']) && !empty($_GET['id'])) { include 'connect.php'; mysql_connect($host, $username, $passwort); mysql_select_db($db); $query = "SELECT * FROM bga_users WHERE id = ".$_GET['id']." "; $result = mysql_query($query); while ($row = mysql_fetch_assoc($result)) { $error_msg = ""; } if (empty($row["icq"])) { $row["icq"] = "Keine Angabe"; } if (empty($row["msn"])) { $row["msn"] = "Keine Angabe"; } if (empty($row["yahoo"])) { $row["yahoo"] = "Keine Angabe"; } if (empty($row["age"])) { $row["age"] = "Keine Angabe"; } if (empty($row["usertext"])) { $row["usertext"] = "Keinen Benutzertext angegeben"; } if (empty($row["userpic"])) { $row["userpic"] = "no_avatar.gif"; } if (empty($row["interests"])) { $row["interests"] = "Keine Angabe"; } if (empty($row["living"])) { $row["$living"] = "Keine Angabe"; } if (empty($row["bewertung"])) { $row["bewertung"] = "Bis jetzt 0 Punkte"; } if (!empty($row["bewertung"])) { $row["bewertung"] .= "Punkte"; } switch ($row["userlevel"]) { case 0: $row["userlevel"] = "User"; break; case 1: $row["userlevel"] = "Administrator"; break; } $query = "SELECT email FROM bga_emails WHERE id = ".$_GET['id']." "; $result = mysql_query($query); while ( $row = mysql_fetch_object($result)); { $email = $row->email; } echo "
Profil von {$row['username']}
{$error_msg}
{$row[
Rang: {$row['userlevel']}
Persönliche Daten:
Alter: {$row['age']}
Wohnort: {$row['living']}
Interessen: {$row['interests']};

Kontaktmöglichkeiten:
eMail-Adresse: {$row['email']}
ICQ: {$row['icq']}
MSN: {$row['msn']}
Yahoo!: {$row['yahoo']}

Sonstige Angaben
Usertext: {$row['usertext']}
Bewertung: {$row['bewertung']}
Ingame-Punkte: {$row['punkte']}
"; } else { $error_msg = "Der gesuchte Benutzername existiert nicht."; echo $error_msg; } ?>

[/php]

versuchs mal so

Oh sry, ich dachte dat wort kotzen is erlaubt ^^ Hatte eigentlich vor Sch***** zu schreiben, aber dann hätte es Ärger³ geregnet

Zum Script, bei mysql_fecth_assoc() wird immernoch die gleiche Meldung wie am Anfang angezeigt

[PHP]
echo "SELECT * FROM bga_users WHERE id = „.$_GET[‚id‘].“ ";
[/PHP]

gib das mal aus und kopier das mal in den phpmyadmin (also da in die sql konsole) vllt. ist ja schon was an der abfrage falsch !

In phpMyAdmin kann das nur falsch sein, weil da überhaupt kein $_GET existiert. Ích habs ausprobiert aber an der Fehlermeldung etc. Hat sich nichts geändert -.-

??? Wenn du eine ID übergibst kannst du nach der Ausghabe dieses Statements den Query im phpmyadmin einfügen und mal zum test ausführen … denn wenn du das untenstehende in deinen sourcecode implementierst, wirst du eine ausgabe like SELECT * FROM bga_users WHERE id = 1 bekommen.

das hier ist in deinen Source zu implementieren !!!
dann gibt er ja den oben genannten source aus und du kannst testen ob er auch wirlklich richtig selected

[php]echo "SELECT * FROM bga_users WHERE id = „.$_GET[‚id‘].“ "; [/php]

Versteh ich nich :oops:

HÖLLE -.-

Du hast deinen Sourcecode …

[php]

<?php if(isset($_GET['id']) && !empty($_GET['id'])) { include 'connect.php'; mysql_connect($host, $username, $passwort); mysql_select_db($db); $query = "SELECT * FROM bga_users WHERE id = ".$_GET['id']." "; echo $query; /*$result = mysql_query($query); while ($row = mysql_fetch_assoc($result)) { $error_msg = ""; } if (empty($row["icq"])) { $row["icq"] = "Keine Angabe"; } if (empty($row["msn"])) { $row["msn"] = "Keine Angabe"; } if (empty($row["yahoo"])) { $row["yahoo"] = "Keine Angabe"; } if (empty($row["age"])) { $row["age"] = "Keine Angabe"; } if (empty($row["usertext"])) { $row["usertext"] = "Keinen Benutzertext angegeben"; } if (empty($row["userpic"])) { $row["userpic"] = "no_avatar.gif"; } if (empty($row["interests"])) { $row["interests"] = "Keine Angabe"; } if (empty($row["living"])) { $row["$living"] = "Keine Angabe"; } if (empty($row["bewertung"])) { $row["bewertung"] = "Bis jetzt 0 Punkte"; } if (!empty($row["bewertung"])) { $row["bewertung"] .= "Punkte"; } switch ($row["userlevel"]) { case 0: $row["userlevel"] = "User"; break; case 1: $row["userlevel"] = "Administrator"; break; } $query = "SELECT email FROM bga_emails WHERE id = ".$_GET['id']." "; $result = mysql_query($query); while ( $row = mysql_fetch_object($result)); { $email = $row->email; } echo "
Profil von {$row['username']}
{$error_msg}
{$row[
Rang: {$row['userlevel']}
Persönliche Daten:
Alter: {$row['age']}
Wohnort: {$row['living']}
Interessen: {$row['interests']};

Kontaktmöglichkeiten:
eMail-Adresse: {$row['email']}
ICQ: {$row['icq']}
MSN: {$row['msn']}
Yahoo!: {$row['yahoo']}

Sonstige Angaben
Usertext: {$row['usertext']}
Bewertung: {$row['bewertung']}
Ingame-Punkte: {$row['punkte']}
"; } else { $error_msg = "Der gesuchte Benutzername existiert nicht."; echo $error_msg; */ } ?> [/php]

speicher das mal so ab und dann kommt ne ausgabe … (sollte zumindest)
diese ausgabe kopierst du in die zwischenablage (makieren + strg+c) und dann führst du sie aus in deiner datenbank und guckst, ob der query einen fehler wirft …

Da steht dann

MySQL meldet:

#1054 - Unknown column ‚id‘ in ‚where clause‘.

dann gibt es wohl keine spalte „id“ in deiner tabelle.

Nils aka XraYSoLo

tadaaaaa und schon hast du den fehler !

.< Ich kann manchmal echt blind sein. Alle Tabellen haben nen id-Feld bei mir, nur die mit Userdaten haben userid. Na gut, ich hab mein Script jetz so gemacht:

[php]<?php
if(isset($_GET[‚id‘]) && !empty($_GET[‚id‘]))
{
include ‚connect.php‘;

mysql_connect($host, $username, $passwort);
mysql_select_db($db);

$query = „SELECT * FROM bga_users WHERE userid = {$_GET[‚id‘]}“;
$result = mysql_query($query);

while ($row = mysql_fetch_assoc($result))
{
$error_msg = „“;
}
if (empty($row[„icq“]))
{
$row[„icq“] = „Keine Angabe“;
}
if (empty($row[„msn“]))
{
$row[„msn“] = „Keine Angabe“;
}
if (empty($row[„yahoo“]))
{
$row[„yahoo“] = „Keine Angabe“;
}
if (empty($row[„age“]))
{
$row[„age“] = „Keine Angabe“;
}
if (empty($row[„usertext“]))
{
$row[„usertext“] = „Keinen Benutzertext angegeben“;
}
if (empty($row[„userpic“]))
{
$row[„userpic“] = „no_avatar.gif“;
}
if (empty($row[„interests“]))
{
$row[„interests“] = „Keine Angabe“;
}
if (empty($row[„living“]))
{
$row[„$living“] = „Keine Angabe“;
}
if (empty($row[„bewertung“]))
{
$row[„bewertung“] = „Bis jetzt 0 Punkte“;
}
if (!empty($row[„bewertung“]))
{
$row[„bewertung“] .= „Punkte“;
}
switch ($row[„userlevel“])
{
case 0:
$row[„userlevel“] = „User“;
break;
case 1:
$row[„userlevel“] = „Administrator“;
break;
}

$query = "SELECT email FROM bga_emails WHERE userid = {$_GET[‚id‘]} ";
$result = mysql_query($query);
while ( $row = mysql_fetch_object($result));
{
if (empty($row->email))
{
$row->email = „Keine Angabe“;
}
}
} else {
$error_msg = „Der gesuchte Benutzername existiert nicht.“;
echo $error_msg;
}

?>[/php]

Das includier ich dann und verushc das in dem andern Dokument ausgeben zu lassen, aber so wirlich funktionieren tut das nich, der zeigt das irgendwie nicht an. Hier dann ma die Demo:

http://windandfire.ohost.de/profile.php

Wo in deinem Quelltext, außer bei der Fehlermeldung ($error) gibst du denn was aus ? Sonst nirgends … wie wäre es wenn du einfach mal ein echo oder derartiges in deinen source einbaust und ihn somit zur ausgabe überredest :smiley:

Tu ich doch… Der will einfach nich

ähämm du hast sogar ne fehlerausgabe auf deiner seite

Der gesuchte Benutzername existiert nicht.

Schon mal dran gedacht dass das daran liegen könnte?

-.- Du muss ja auch ne Userid eingeben

http://windandfire.ohost.de/profile.php
Da gibts ne Fehlermeldung

http://windandfire.ohost.de/profile.php?id=1
Das sollte nen Profil darstellen, nur der scheint irgendwie die Daten nich auszulesen.

ja sorry, -_-

Hab mir mal dein code angeschaut. wenn dass was du oben gepostet hast dein code ist, dann fehlt die ausgabe der daten mittels echo oder print

Ich hab doch gesagt das ist in nem andern Dokument includiert -.-

Naja, egal, ich habe jetzt alles auf die Seite profile.php gepackt…

das ist dann mal der komplette Code, aber Ausgeben tut der immernoch nichts :frowning:

[php]

Profil von <?php echo $row["username"]; ?>
Wind And Fire
<?php include 'navi.php'; ?>
<?php include 'info.php'; ?>
Design und Coding © by Wind And Fire
<?php if(isset($_GET['id']) && !empty($_GET['id'])) { include 'connect.php';

mysql_connect($host, $username, $passwort);
mysql_select_db($db);

$query = „SELECT * FROM bga_users WHERE userid = {$_GET[‚id‘]}“;
$result = mysql_query($query);

while ($row = mysql_fetch_assoc($result))
{
$error_msg = „“;
}
if (empty($row[„icq“]))
{
$row[„icq“] = „Keine Angabe“;
}
if (empty($row[„msn“]))
{
$row[„msn“] = „Keine Angabe“;
}
if (empty($row[„yahoo“]))
{
$row[„yahoo“] = „Keine Angabe“;
}
if (empty($row[„age“]))
{
$row[„age“] = „Keine Angabe“;
}
if (empty($row[„usertext“]))
{
$row[„usertext“] = „Keinen Benutzertext angegeben“;
}
if (empty($row[„userpic“]))
{
$row[„userpic“] = „no_avatar.gif“;
}
if (empty($row[„interests“]))
{
$row[„interests“] = „Keine Angabe“;
}
if (empty($row[„living“]))
{
$row[„$living“] = „Keine Angabe“;
}
if (empty($row[„bewertung“]))
{
$row[„bewertung“] = „Bis jetzt 0 Punkte“;
}
if (!empty($row[„bewertung“]))
{
$row[„bewertung“] .= „Punkte“;
}
switch ($row[„userlevel“])
{
case 0:
$row[„userlevel“] = „User“;
break;
case 1:
$row[„userlevel“] = „Administrator“;
break;
}

$query = "SELECT email FROM bga_emails WHERE userid = {$_GET[‚id‘]} ";
$result = mysql_query($query);
while ( $row = mysql_fetch_object($result));
{
if (empty($row->email))
{
$row->email = „Keine Angabe“;
}
}

echo „

“;
echo „
Profil von“;
echo $row[„username“];
echo „
“;
echo „“;
echo $error_msg;
echo „
"; echo $row["username"]; echo "s Benutzerbild
Rang:“;
echo $row[„userlevel“];
echo „
Persönliche Daten:“;
echo „
Alter:“;
echo $row[„age“];
echo „
Wohnort:“;
echo $row[„living“];
echo „
Interessen:“;
echo $row[„interests“];
echo „

Kontaktmöglichkeiten:“;
echo „
eMail-Adresse:“;
echo $row[„email“];
echo „
ICQ:“;
echo $row[„icq’“];
echo „
MSN:“;
echo $row[„msn“];
echo „
Yahoo!:“;
echo $row[„yahoo“];
echo „

Sonstige Angaben“;
echo „
Usertext:“;
echo „“;
echo $row[„usertext“];
echo „“;
echo „
Bewertung:“;
echo $row[„bewertung“];
echo „
Ingame-Punkte:“;
echo $row[„punkte“];
echo „“;
echo „
“;
} else {
$error_msg = „Der gesuchte Benutzername existiert nicht.“;
echo „
Fehler!
“;
echo $error_msg;
echo „
“;
}

?>

[/php]

Ich bin der meinung den fehler gefunden zu haben:

Du definierst in deiner ersten whileschleide die ganzen daten im array $row
und in der zweiten abfrage änderst du den inhalt von $row. dann willst du aber am ende des scripts wieder die daten von $row haben, die du in $row gespeichert hast, bevor du $row geändert hast.
Probier es mal so
[PHP]

Profil von <?php echo $row["username"]; ?>
Wind And Fire
<?php include 'navi.php'; ?>
<?php include 'info.php'; ?>
Design und Coding © by Wind And Fire
<?php if(isset($_GET['id']) && !empty($_GET['id'])) { include 'connect.php';

mysql_connect($host, $username, $passwort);
mysql_select_db($db);

$query = „SELECT * FROM bga_users WHERE userid = {$_GET[‚id‘]}“;
$result = mysql_query($query);

while ($row = mysql_fetch_assoc($result))
{
{
$error_msg = „“;
}
if (empty($row[„icq“]))
{
$row[„icq“] = „Keine Angabe“;
}
if (empty($row[„msn“]))
{
$row[„msn“] = „Keine Angabe“;
}
if (empty($row[„yahoo“]))
{
$row[„yahoo“] = „Keine Angabe“;
}
if (empty($row[„age“]))
{
$row[„age“] = „Keine Angabe“;
}
if (empty($row[„usertext“]))
{
$row[„usertext“] = „Keinen Benutzertext angegeben“;
}
if (empty($row[„userpic“]))
{
$row[„userpic“] = „no_avatar.gif“;
}
if (empty($row[„interests“]))
{
$row[„interests“] = „Keine Angabe“;
}
if (empty($row[„living“]))
{
$row[„$living“] = „Keine Angabe“;
}
if (empty($row[„bewertung“]))
{
$row[„bewertung“] = „Bis jetzt 0 Punkte“;
}
if (!empty($row[„bewertung“]))
{
$row[„bewertung“] .= „Punkte“;
}
switch ($row[„userlevel“])
{
case 0:
$row[„userlevel“] = „User“;
break;
case 1:
$row[„userlevel“] = „Administrator“;
break;
}
}
$query = "SELECT email FROM bga_emails WHERE userid = {$_GET[‚id‘]} ";
$result = mysql_query($query);
while ( $row2 = mysql_fetch_assoc($result));
{
if (empty($row2[„email“]))
{
$row2[„email“] = „Keine Angabe“;
}
}

echo „

“;
echo „
Profil von“;
echo $row[„username“];
echo „
“;
echo „“;
echo $error_msg;
echo „
";  echo $row["username"];  echo "s Benutzerbild
Rang:“;
echo $row[„userlevel“];
echo „
Persönliche Daten:“;
echo „
Alter:“;
echo $row[„age“];
echo „
Wohnort:“;
echo $row[„living“];
echo „
Interessen:“;
echo $row[„interests“];
echo „

Kontaktmöglichkeiten:“;
echo „
eMail-Adresse:“;
echo $row2[„email“];
echo „
ICQ:“;
echo $row[„icq’“];
echo „
MSN:“;
echo $row[„msn“];
echo „
Yahoo!:“;
echo $row[„yahoo“];
echo „

Sonstige Angaben“;
echo „
Usertext:“;
echo „“;
echo $row[„usertext“];
echo „“;
echo „
Bewertung:“;
echo $row[„bewertung“];
echo „
Ingame-Punkte:“;
echo $row[„punkte“];
echo „“;
echo „
“;
} else {
$error_msg = „Der gesuchte Benutzername existiert nicht.“;
echo „
Fehler!
“;
echo $error_msg;
echo „
“;
}

?>

[/PHP]

So der Grund war ein Syntaxfehler bei den Prüfungen, ob etwas lehr ist. Jetzt habe ich nur das nötigste ins Profil gepackt und es nochmal ordntlich sortiert. Hier der fertige, funktionierende Code:

[php]<?php
if(isset($_GET[‚id‘]) && !empty($_GET[‚id‘]))
{
include ‚connect.php‘;

mysql_connect($host, $username, $passwort);
mysql_select_db($db);

$query = „SELECT * FROM bga_users WHERE userid = {$_GET[‚id‘]}“;
$result = mysql_query($query);

while ($row = mysql_fetch_assoc($result))
{
if (empty($row[„userpic“]))
{
$row[„userpic“] = „no_avatar.gif“;
}
switch ($row[„userlevel“])
{
case 0:
$row[„userlevel“] = „User“;
break;
case 1:
$row[„userlevel“] = „Administrator“;
break;
}
echo „

“;
echo „
Profil von“;
echo $row[„username“];
echo „
“;
echo „“;
echo $error_msg;
echo „
";  echo $row["username"];  echo "s Benutzerbild
Rang:“;
echo $row[„userlevel“];
echo „
Persönliche Daten:“;
echo „
Alter:“;
echo $row[„age“];
echo „
Wohnort:“;
echo $row[„living“];
echo „
Interessen:“;
echo $row[„interests“];
echo „

Kontaktmöglichkeiten:“;
$query2 = "SELECT email FROM bga_emails WHERE userid = {$_GET[‚id‘]} ";
$result2 = mysql_query($query2);
while ( $row2 = mysql_fetch_assoc($result2));
{
echo „
eMail-Adresse:“;
echo $row2[„email“];
}
echo „
ICQ:“;
echo $row[„icq’“];
echo „
MSN:“;
echo $row[„msn“];
echo „
Yahoo!:“;
echo $row[„yahoo“];
echo „

Sonstige Angaben“;
echo „
Usertext:“;
echo „“;
echo $row[„usertext“];
echo „“;
echo „
Bewertung:“;
echo $row[„bewertung“];
echo „
Ingame-Punkte:“;
echo $row[„punkte“];
echo „“;
echo „
“;
}
} else {
$error_msg = „Der gesuchte Benutzername existiert nicht.“;
echo „
Fehler!
“;
echo $error_msg;
echo „
“;
}

?>[/php]