Guestbook-Tut Problem

lazi

Mitglied
Hi !
Zu allererst muss ich sagen,dass ich noch php-Anfänger bin.
Ich hab folgendes Tutorial auf php-resource.de gefunden:Klick.
Ich hab alle Anweisungen befolgt,aber ich kann keine neue Datenbank anlegen.Wenn ich dann die gb.php aufrufe,kommen zwei Warnungen:
PHP:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/local/httpd/htdocs/kunden/web16/html/gb/gb.php on line 31
PHP:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/local/bla/gb/gb.php on line 39
.
Kann mir einer helfen?
 
Nabend!

Naja du bietest etwas wenig Informationen, da dieser Fehler nur eine Fehlermeldung einer falschen SQL Abfrage ist.

Soviel kann ich bis hierhin sagen:
Vergewissere dich, ob du die richtigen Namen der Felder genommen hast (schreibweise (gross/klein)), ob du beim abtippen keinen Fehler gemacht hast.

Dann sei dir auch sicher, ob die Felder auch so in der Datenbank stehen.

Am besten wäre es, wenn du sagen könntest, wo der Fehler auftritt oder einen Auschnitt des Fehlerhaften Codes gibst.

So kann ich zumindest den Fehler nicht finden, da ich nciht weiss wo er genauer sein soll.

MfG
Andreas
 
Du wirst an die zwei Funktionen eine Variable übergeben, die irgendwie so ähnlich wie folgendes gesetzt werden wird.
PHP:
$result = mysql_query($query);
...
Korrekt?
Wenn ja, dann ergänze DIESE Zeile um ein or die(mysql_error()). Das sollte das Problem ausreichend per Fehlermeldung beschreiben, dass du erkennen kannst, woran es liegt.
 
Danke für die Hilfe!
Bin jetzt auch weiter gekommen.Aber nun kommt wieder ne Fehlermeldung

Warning: Cannot add header information - headers already sent by (output started at /usr/local/httpd/htdocs/kunden/web16/html/gb/gb.php:6) in /usr/local/httpd/htdocs/kunden/web16/html/gb/gb.php on line 119
PHP:
       if (!$result) 
        { 
            die ("Sorry, Datenbankeintrag hat nicht funktioniert"); 
        } 
     mysql_close($conn); 
     header("Location:gb.php"); //Zeile 119
} 
?>
Wenn ich
PHP:
header("Location:gb.php"); //Zeile 119
jetzt weg mache,kommt diese Fehlermeldung nicht mehr.Ist sie für irgendwas nütze?

Außerdem werden meine Felder irgendwie "verschoben".Also an der Stelle vom Namen steht die email-Adresse,anstatt der email Adresse steht der Titel und der Name fehlt ganz.
Hoff ihr könnt mir helfen.
 
Danke @ snuu.
Nun hab ich nur die nötigsten Felder wie email,Name,Beitrag und Titel.
PHP:
if (($counter >= $anfang) AND ($counter <= $ende)) 
                { 
                    echo"<tr width=\"25%\">". 
                            "<td>geschrieben von :<br>". stripslashes($zeileholen["name"])."<br>eMail :". stripslashes($zeileholen["mail"])."</td>". 
                            "<td colspan=\"2\" width=\"75%\">Titel : ". stripslashes($zeileholen["email"])."</td>". 
                         "</tr>". 
                        "<tr>". 
                            "<td>am ".$zeileholen["titel"]."</td>". 
                            "<td colspan=\"2\">". stripslashes( nl2br( htmlentities($zeileholen["beitrag"])))."</td>". 
                        "</tr>"; 
                }
Jetz möchte ich aber noch ein Feld wie z.b Homepage hinzufügen.Dazu wandle ich folgenden Abschnitt
PHP:
$query = "INSERT INTO gb VALUES ('', '". addslashes($name)."','". addslashes($email)."', '". addslashes($titel)."', '". addslashes($beitrag)."' ,'".$datum."')" ;
in diesen hier um
PHP:
$query = "INSERT INTO gb VALUES ('', '". addslashes($name)."', '". addslashes($homepage)."','". addslashes($email)."', '". addslashes($titel)."', '". addslashes($beitrag)."' ,'".$datum."')" ;
,aber dann bekomme ich eine Fehlermeldung,dass der Datenbankeintrag nicht funktioniert hat,obwohl ich in meiner Datenbank die ID "homepage" habe.
Wisst ihr weiter?
 
Denke bitte daran, dass du in deiner INSERT-Anweisung bei der VALUES-Liste die Werte in übereinstimmender Reihenfolge mit den Feldern in der DB-Tabelle angeben musst (sofern du die Felder nicht nach dem Tabellennamen im Query selbst angibst).

Achja, wie Tim schon sagte, solltest du zur genaueren Fehleranalyse einfach mal ein or die(mysql_error()) hängen.
 
Zurück