Hallo,
ich habe ein Problem beim Scripten. Ich versuche ein Gästebuch zu erstellen, leider kommt solcher Fehler raus:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /data/apache/users/kilu.de/boepple/www/guestbook.php on line 50
Hier mein Code:
ich habe ein Problem beim Scripten. Ich versuche ein Gästebuch zu erstellen, leider kommt solcher Fehler raus:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /data/apache/users/kilu.de/boepple/www/guestbook.php on line 50
Hier mein Code:
PHP-Code:
<form action="<?php echo $PHP_SELF ?>" method="post" name="eintragung">
<k>Name:</k><h1><input type="text" name="name" size="25"> </br> </h1>
<k>Email:</k><h1><input type="text" name="email" size="25"> </br> </h1>
<k>Homepage:</k><h1><input type="text" name="homepage" size="25"> </br> </h1>
<k>Message:</k><h1><textarea name="message" cols="20" rows="25"></textarea> </br> </h1>
<h1><input type="submit" name="neueintrag" value="Eintragen"> </h1>
<h1><input type="reset" value="Löschen"> </h1>
<div>
</form>
<?php>
// Zunächst brauchen wir eine Datenbankverbindung:
$db = mysql_connect('localhost', 'name', '****');
if (mysqli_connect_errno()) {
die('Konnte keine Verbindung zu Datenbank aufbauen, MySQL meldete: '.mysqli_connect_error());
// ist zwar keine saubere Fehlermeldung aber ist ja auch nur ne einfache Inplementierung
}
mysql_select_db("datenbank"); //Datenbank auswählen in die geschrieben werden soll
if($neueintrag) //ueberprueft ob der submit button gedrückt wurde
{ //Wenn ja dann daten in den guestbook table eintragen
$id = time(); //time() gibt die zeit seit dem beginn des Unix Zeitalters in sekunden zurück
//wir benutzen id als Datums und Identifikations-Angabe, doch mehr dazu später
$name = addslashes($name); //Zeichen die im Programm Probleme verursachen könnten in PHP Spezialzeichen umwandeln
$email = addslashes($email); // -"-
$homepage = addslashes($homepage); // -"-
$message = addslashes($message); // -"-
$sqlkommando = "INSERT INTO guestbook (id, name, email, homepage, message) VALUES ('$id', '$name', '$email', '$homepage', '$message')";
// Auf gut deutsch: Füge in guestbook bei "id, name, email, homepage, message" die werte der variablen "$id, $name, $email, $homepage, $message" ein
mysql_query($sqlkommando) or die("Error: " . mysql_error()); // Kommando 'sqlkommando' ausfuehren
// bei misserfolg beenden und fehlermeldung ausgeben
echo "Eintragung erfolgreich hinzugefügt"; // Bestätigung ausgeben
}
$sql = "SELECT * FROM guestbook ORDER BY id DESC";
$result = mysql_query($sql) or die("Error: " . mysql_error());;
while($daten = mysql_fetch_object($result)) // Solange wie daten ausgelesen werden können sollen
{ // sie in das Objekt '$daten' geladen und die folgende
// schleife ausgegeben werden
$datum = getdate($daten->id); // Datum aus 'id' konvertieren und in das 'datum' array packen
echo "Eintrag von ". stripslashes($daten->name) ."\n<br>"; // PHP sonderzeichen entfernen und name ausgeben
echo "Email: <a href=\"mailto:".stripslashes($daten->email)."\">".stripslashes($daten->email)."</a>\n<br>";
echo "Homepage: ".stripslashes($daten->homepage)."\n<br>";
echo "Geschrieben: $ndate[weekday] - $ndate[mday]/$ndate[mon]/$ndate[year] $ndate[hours]:$ndate[minutes]"; // Datum ausgeben (Englisch siehe Moartel Tutorial)
echo "<br>";
echo "Kommentar: <br>";
echo nl2br(stripslashes($daten->message)); //nl2br = Zeilenumbrüche in HTML-Umbrüche (<br>) umwandeln
echo "\n<br><br>\n";
}
Kommentar