Peter Pan: supplied argument is not a valid MySQL result resource?

Beitrag lesen

Hi!

$monat=$_GET["var1"];
$jahr=$_GET["var2"];

Das ist unnötig, du kopierst hier nur zwei Variablen und erschwerst eine Fehleranalyse, außerdem verschleierst Du weiter unten die Herkunft der Daten aus dem Superglobal $_GET.

echo "<a href='archiv.php?var1=" .$row->Monat. " &var2=" .$row->Jahr. "'>$row->Monat $row->Jahr</a>";

Wir kennen die hier ausgegebenen Properties Deines $row-Objektes nicht!

mysql_connect("localhost", "...","...") or die
("Keine Verbindung moeglich");

Das ist keine gute Idee.

Ermittle bitte einmal den genauen Inhalt von:

  

> $abfrage = "SELECT * FROM PlatteMonat WHERE $monat = $row->Monat AND $jahr = $row->Jahr";  

Gerade als Anfänger soltest Du immer den abzusetzenden Query-String vorher ansehen und auf Fehler prüfen, erst dann übergibst Du diesen an den DB-Server. Sollten dir bereits Fehler auffallen, kann der Schritt, die Query an diesen zu senden entfallen ;)

Wie Cheatah bereits andeutete ist es fast nie gut,  '*' zu selektieren - benötigst du wirklich alle Felder?

Access denied for user '...'@'localhost' to database '..., Resource id #5' 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND 2008 =' at line 1

Das scheinen IMHO zwei Fehlermeldungen zu sein:
1. Die von Dir benutzte Kombination aus User/Password ist nicht zulässig:

Ermittle diese bitte und schaue, ob der MyQL-User mit dem benutzten Kennwort so  korrekt ist.

2: Ein SQL-Syntax-Fehler siehe oben.

--
"You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)