Archiv verlassen und diese Seite im Standarddesign anzeigen : MySQL Datensätze hinzufügen?
Hi
Wie füge ich Datensätze in eine MYSQL Datenbank per Formular ein? Wie z.b. hier wenn ich ein neues Thema erstelle?
xabbuh
20.11.2005, 14:35:37
Woran scheitert dein Problem? Daran das Formular zu definieren, es mit PHP zu verarbeiten oder die Daten einzutragen?
Hi
Die Php verarbeitung und das hinzufügen grieg ich nicht hin!
Opendix
20.11.2005, 14:41:16
schau dir ma diese tutorial an... wird dir weiterhelfen ;)
http://tut.php-q.net/
edit: hier noch ein guter link:
http://www.webmaster-resource.de/tutorials/php/php_tutorial_25.php
Hi
Jetzt kommt das da:
Warning: mysql_connect(): Access denied for user 'root'@'localhost' (using password: YES) in C:\Dokumente und Einstellungen\Eric\Eigene Dateien\xampp\htdocs\test\db\einfuegen.php on line 2
Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in C:\Dokumente und Einstellungen\Eric\Eigene Dateien\xampp\htdocs\test\db\einfuegen.php on line 3
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in C:\Dokumente und Einstellungen\Eric\Eigene Dateien\xampp\htdocs\test\db\einfuegen.php on line 9
Warning: mysql_affected_rows(): supplied argument is not a valid MySQL-Link resource in C:\Dokumente und Einstellungen\Eric\Eigene Dateien\xampp\htdocs\test\db\einfuegen.php on line 10
xabbuh
20.11.2005, 14:53:20
Warning: mysql_connect(): Access denied for user 'root'@'localhost' (using password: YES) in C:\Dokumente und Einstellungen\Eric\Eigene Dateien\xampp\htdocs\test\db\einfuegen.php on line 2
Die Fehlermeldung ist doch eindeutig: Du versuchst mit den falschen Zugangsdaten auf den MySQL-Server zu verbinden.
jetzt kommt nur noch:
Beim Eintragen ist ein Fehler aufgetreten.
Hier mal die Dateien (nicht wundern, es gibt kein Passwort!):
<?php
define('MYSQL_HOST', '127.0.0.1');
define('MYSQL_USER', 'root');
define('MYSQL_PASS', '');
define('MYSQL_DATABASE', 'test');
$db=mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS);
mysql_select_db("daten", $db);
mysql_query("
INSERT INTO gaestebuch
(datum, name, titel, eintrag)
VALUES
(NOW(''), '$name', '$titel', '$eintrag')
", $db);
if(mysql_affected_rows($db)==1)
echo "Vielen Dank für Ihren Eintrag!<br>",
"<a href=\"gaestebuch.php3\">Zurück</a>";
else
echo "Beim Eintragen ist ein Fehler aufgetreten.<br>",
"<a href=\"javascript:history.back();\">Zurück</a>";
?>
xabbuh
20.11.2005, 15:04:00
Das liegt daran, dass deine Abfrage nicht korrekt ausgeführt werden konnte. Den aufgetretenen Fehler kannst du mit mysql_error() ermitteln.
ok, da kommt dann Query was empty
xabbuh
20.11.2005, 15:13:25
Dann verwendest du mysql_error() an der falschen Stelle im Quellcode.
Opendix
20.11.2005, 15:25:08
nach mysql_query(...)
feuervogel
20.11.2005, 23:06:44
einfach mal gucken vorm posten:
http://www.selfphp.de/forum/showthread.php?t=8195
da steht auch was zu mysql_error()
Ich habe da ein anderes Problem wie es aussieht kommen die Werte aus dem Formular nicht in die Variablen gespeichert.
gibt es eine möglichkeit die werte in variablen zu speichern??
http://www.webmaster-resource.de/tutorials/php/php_tutorial_25.php
habs so gemacht wie im tutorial
xabbuh
02.12.2005, 13:33:24
Du gehst in deinem Quelltext anscheinend davon aus, dass register_globals aktiviert sind und Werte die von Außen (POST, GET etc.) an das Script herangereicht werden auch direkt als Variablen im Script vorhanden sind. Da register_globals allerdings deaktiviert ist, musst du auf das entsprechende superglobale Array (http://www.php.net/manual/en/language.variables.predefined.php) zugreifen.
feuervogel
02.12.2005, 13:35:31
man sollte die leute strafen heutzutage noch solch ein tutorial online zu stellen...steht ja sogar noch .php3 als dateiendung da.
wenn das feld so aussieht:
<input type="text" name="titel" maxlength="40">
und die formularmethode so:
method="post"
nimmst du statt $titel das: $_POST[ 'titel' ]
und falls die method="get" ist, halt $_GET[ 'titel' ]
also dann in meinem fall den $_POST?
bsp: $name = $_POST['name'] ;
oder welcher befehl ist es?
feuervogel
03.12.2005, 19:30:55
also dann in meinem fall den $_POST?
bsp: $name = $_POST['name'] ;
oder welcher befehl ist es?
genau so.
vBulletin® v3.8.3, Copyright ©2000-2024, Jelsoft Enterprises Ltd.