Php + Mysql

toadkopf

Mitglied
Kann mir jemand helfen...

ich will einzelne daten in eine DB schreiben. aber irgendwie klappt das nciht so mit der insert-funktion.

Code:
Code:
<?php
		$db = mysql_connect("localhost","*****","*****") or die("Keine Verbindung möglich: " . mysql_error());
		mysql_select_db("toad");

		$date=date("Y-m-d");
		$zeit =time("H:i"); 

		$sql="INSERT INTO gbook (name, email, website, datum, zeit, message)
		VALUES ('".$_POST[name]."', '".$_POST[email]."', '".$_POST[website]."', NOW(''), NOW(''), '".$_POST[message])."';
		
		mysql_query($sql, $db);


?>


Fehlermeldung gibt er keine er schreibt es einfach nur nicht in die DB. Jetzt wollt ich nur wissen ob der code so überhaupt stimmt
 
Zuletzt bearbeitet:
Was bist du denn für einer? :D


Wie wärs mal mit einer klaren Beschreibung? Z.b. was genau nicht funktioniert, eine Fehlermeldung, falls eine kommt, das Codestück ect. ect....


Solltest auch mal die Netiquette lesen, hab ich zwar auch noch nicht, aber du könntest sie brauchen.
 
Aender mal
PHP:
mysql_query($sql, $db);
in
PHP:
mysql_query($sql, $db) or die(mysql_error());
um.
Dann bekommst Du auf jeden Fall schonmal eine sinnvolle Fehlermeldung.

Falls Du damit nicht selbst schon auf die Loesung kommst dann kannst Du diese Fehlermeldung auch gern hier posten.
 
Bitte benutze auch die richtige Hervorhebung, da ist extra son PHP-Stück, dann wird das richtig gehighlightet.


Warum hast du bei NOW() immer " oder ' drin? Mach die mal wech

Achja, und bei dem letzten Post ist die Klammer falsch gesetzt:
PHP:
......'".$_POST[message])."';
in
PHP:
.........'".$_POST[message]."')";
ändern
 
Zuletzt bearbeitet:
ich krieg komischerweise immer noch keine fehlermeldung. er schreibt einfach nichts in die datenbank rein. kann es sein das mit dem formular irgendwas nciht stimmt

<form action="book.php" method="post">
<tr height="20">
<td>Name:</td>
<td><input type="text" name="nom" size="40" /></td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr height="20">
<td>E-Mail:</td>
<td><input type="text" name="email" size="40" /> </td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr height="20">
<td>Website:</td>
<td><input type="text" name="website" size="40" /> </td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr height="120" valign="top">
<td >Nachricht:</td>
<td><textarea type="text" cols="30" rows="10" name="comments"></textarea> </td>
</tr>
<tr height="40">
<td>&nbsp;</td><td><input type="submit" value="Send" />&nbsp;<input type="reset" value="Reset" /></td>
</tr>
</form>
 
Zerlege einmal dein Problem in überschaubare Brocken :)
Und lass dir den ERZEUGTEN SQL Befehl einmal anzeigen nachdem du ihn dir generiert hast (Vielleicht ist der ja schon daneben ...).

Folgende Fragen gibt es:
1. hast du einen datenbank connect
2. Ist die Insert Abfrage syntaktisch richtig :google:
3. Ist der mysqlaufruf richtig :google:

Es würde sicherlich helfen deinen codeverhau in überschaubarerer Brocken zu zerlegen
Einzeiler waren zu Zeiten des c64 cool ;)
(Und sowas ist meiner Generation vorbehalten :p )
 
also der datebank connect stimmt, da ich die sachen aus der datenbank holen kann. Mein problem ist nur das ich sie nicht in die datenbank schreiben kann. Das Datum und die Zeit werden ausgegeben, nur der name, email, website, und message bleiben einfach leer obwohl ich das formular gefüllt habe.

An dem connect kann es nicht liegen. Ich denke meine insert funktion ist nciht korrekt oder eben das formular in das ich alles eingebe.
 
Wenn der SQL Befehl den du erzeugt hast funktioniert
(bitte posten)
könnt es auch noch an den Zugriffsrechten in der Datenbank liegen
nicht jeder User darf mysql Tabellen schreiben.
Temporär mal als root versuchen da hineinzuschreiben.
(Bitte nur bei lokaler datenbank ausprobieren)
wenn das geht ists ein rechteproblem.
 
hier ist der connect:

<?php
$db = mysql_connect("localhost","user","passwort") or die("Keine Verbindung möglich: " . mysql_error());
mysql_select_db("database");

mysql_close($db)


?>
ich bin gerade direkt auf dem server vom anbieter. keine ahnung wie man hier die rechte ändert
 

Neue Beiträge

Zurück