Supportnet / Forum / Skripte(PHP,ASP,Perl...)
mySQL + PHP
Frage
<?
$verbindung = @mysql_connect("localhost","lala","lala");
if (!$verbindung) {
echo "Keine Verbindung möglich!\n";
}
$name = "quan"; $email = "bla@bla.de"; $text = "bla";
$eintrag = "INSERT INTO guestbook (name, email, text) VALUES ('$name', '$email', '$text')";
$eintragen = mysql_query($eintrag);
?>
was stimmt da nicht ?
er schreibt einfach gar nichts in die Tabelle rein...
ich hab noch ne Spalte "id", die auf auto_increment steht, wie funktioniert das ?
Primärschlüssel Index Unique Volltext
was bedeutet das alles?
Antwort 1 von MixMax
also wegen autoinkrement um eine tabelle mit einer automatisch hochzählenden Spalte anzulegen mußt du folgendes eingeben :
aus folgenden grund :
int = Zahlenwert (logisch)
not null = der wert darf zwar die Zahl 0 haben (hat sie nie) aber es darf kein NULL-Wert sein denn zu einem NULL-Wert könnte man nichts hinzuaddieren
auto_inkrement klar der inhalt wird automatisch immer um eins erhöht
primary key es sollte nicht möglich sein das eine Zahl doppelt vorkommt
(zum letzten punkt, da hat SN noch probleme, den der die tabelle angelegt hat sollte man würgen)
um festzustellen warum er nix einträgt solltest du folgendes nochmnal prüfen
existiert eine tabelle guestbook
lasse dir mit describe guestbook;
mal anzeigen ob die spalten name, email und text auch existieren
lasse dir mit
lasse dir mal den fertigen $eintrag mit
create table XYZ (id int not null auto_increment primary key);aus folgenden grund :
(zum letzten punkt, da hat SN noch probleme, den der die tabelle angelegt hat sollte man würgen)
um festzustellen warum er nix einträgt solltest du folgendes nochmnal prüfen
mal anzeigen ob die spalten name, email und text auch existieren
echo mysql_error(); mal anzeigen ob er in der zeile nach der abfrage einen Error hatecho $eintrag; anzeigen, evtl sind ja hochkommas ( ' ) in einer der variablen.Antwort 2 von MixMax
mir fällt da was auf - du wirst vermutlich die Fehlermeldung bekommen "no database selected"
am besten du bestimmst noch nach mysql_connect() mit einer query welche datenbank du benutzt, das hast du glatt überschlagen wegen der Struktur :
Server > Datenbanken > Tabellen > Spalten & Zeilen
mit
wäre es demnach behoben.
am besten du bestimmst noch nach mysql_connect() mit einer query welche datenbank du benutzt, das hast du glatt überschlagen wegen der Struktur :
Server > Datenbanken > Tabellen > Spalten & Zeilen
mit
mysql_query("use testdb;");wäre es demnach behoben.
Antwort 3 von semi
Oder lieber so:
Gruss,
Michael
$verbindung = @mysql_connect("localhost","lala","lala");
if (!$verbindung) {
echo "Keine Verbindung möglich!\n";
echo "Ursache: " . mysql_error();
exit();
}
mysql_select_db("DATENBANKNAME", $verbindung) or die(mysql_error());
...
...
Gruss,
Michael

