PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   (Newbie) Wie schreib ich HTML-Formdaten in die MySQL-Datenbank?? (https://www.php-resource.de/forum/php-developer-forum/52309-newbie-wie-schreib-ich-html-formdaten-in-die-mysql-datenbank.html)

criszzz 24-03-2005 14:56

(Newbie) Wie schreib ich HTML-Formdaten in die MySQL-Datenbank??
 
Hi Leute, bin neu hier und hab gleich mal das obligatorische Newbie-Problem ;-)
Ich kriegs einfach nicht hin:

Meine Formdefinition:
PHP-Code:

<form method="POST" action="<?php echo $PHP_SELF ?>?gesendet=true">

Mein input:
PHP-Code:

<input type="text" name="name" value="<?php echo $name ?>">

Im gleichem Quelltext oben lese ich den Namen aus der DB aus und über Input wird er in dem Textfeld auch angezeigt - das funktioniert auch soweit:
PHP-Code:

$db_host "localhost";
$db_user "root";
$db_pass "***";
$database "***";

$db = @mysql_connect($db_host,$db_user,$db_pass) or die (mysql_error());
@
mysql_select_db($database,$db) or die (mysql_error());
$result = @mysql_query("SELECT name FROM item WHERE id=$edit_item_VAR") or die (mysql_error());
$row = @mysql_fetch_row($result);
$name $row[0]; 

Am Ende der Form kommt dann:
PHP-Code:

<input type="submit" value="Änderungen übernehmen"

In die DB den neu überschriebenen Wert reinzuschreiben, dachte ich funktioniert so:
PHP-Code:

if ($gesendet == true)
{
    
$sql "INSERT INTO item (name) VALUES ('".$_POST['name']."')";
        
mysql_query($sql);
    } 

Aber es geht nicht! Ich hab entweder ne Blockade, oder bin zu doof! Aber hab sowas halt noch nie gemacht...
Bitte helft mir...

TobiaZ 24-03-2005 15:10

du beschreibst dein komplettes script, aber was willst du eigentlich erreichen und was geht nicht. Definiere dein Problem genauer.

DrNorton 24-03-2005 15:13

versuch mal ...

PHP-Code:


if ($_GET["gesendet"] == "true"


criszzz 24-03-2005 15:16

Sorry!
Also, ich lese aus der DB ein String-Feld aus und zeige es in einer HTML-Textform an, dies funktioniert auch!

Der Anwender kann diese Textform überschreiben, drückt "Änderungen übernehmen" und der neue Text wird in die DB geschrieben!

Und ich weiss nicht, wie ich mit PHP/HTML einen Textfeldwert in die DB schreibe - das ist mein Problem!

Der Browser sagt mir immer:
"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1"

Line 1???? Glaub das ist nur ne Standardfehlermeldung! Weiss nur das ich irgendwas falsch mache!

criszzz 24-03-2005 15:18

Zitat:

Original geschrieben von DrNorton
versuch mal ...

PHP-Code:


if ($_GET["gesendet"] == "true"


Leider nicht!
Aber ich bedank mich jetzt schonmal für eure Hilfen...

TobiaZ 24-03-2005 15:22

Zitat:

Und ich weiss nicht, wie ich mit PHP/HTML einen Textfeldwert in die DB schreibe - das ist mein Problem!
Dann ab nach schattenbaum.net sind Grundlagen!

Zitat:

Der Browser sagt mir immer:
"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1"
Warum erwähnst du das nicht gleich? und wie sieht die query aus???

criszzz 24-03-2005 15:34

Zitat:

Original geschrieben von TobiaZ
Warum erwähnst du das nicht gleich? und wie sieht die query aus???
PHP-Code:

$sql "UPDATE item SET name = '".$_GET['name']."' WHERE id = '$edit_item_VAR'"

habs aber auch mit

INSERT INTO... probiert

criszzz 24-03-2005 15:46

Will im Prinzip doch einfach nur wissen, wie ich ein input-Textfeld auslese und diesen Text in die DB schreibe - bitte Leute....

TobiaZ 24-03-2005 15:48

dann eigne dir die Grundlagen an!!!

und poste nicht so nen variablenkauderwelsch, sondern die query, die du an die db sendest.

criszzz 24-03-2005 15:51

Zitat:

Original geschrieben von TobiaZ
dann eigne dir die Grundlagen an!!!

und poste nicht so nen variablenkauderwelsch, sondern die query, die du an die db sendest.

Ich habe in MySQL eigentlich ein recht gutes Wissen, nur bei PHP haperts, meine Query ist 100% in Ordnung!!
Hab zwar (Newbie) als ThreadThema dazugeschrieben, aber so blöde bin ich nun auch nicht!!
Ich kann dir gerne das komplette Script zukommen lassen...

UPDATE <tabelle> SET <feld> = '<hier_komm_das_inputfeld>' WHERE <kriterium> = <irgendwas>

TobiaZ 24-03-2005 16:19

oh ja, dass deine Query in ordnung ist sehe ich:
Zitat:

"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1"
Ich will nicht das komplette script, ich "will" die query, die an die db gesendet wird. und zwar ohne diverse variablennamen. aber ist ja deiner meinung nach richtig. also hats sich erledigt,

criszzz 24-03-2005 16:44

Sorry, will hier keine Bad-Vibrations gleich an meinem ersten Forums-Tag verbreiten ;-)
Ich seh's ja ein, daß so ne Fragen wie ich sie stelle, von euch Profs nicht beantwortet werden...

Nee, die eigentliche SQL-Query stimmt, da bin ich mir ziemlich sicher, hab auch andere gefragt...

Es muss ne PHP-Sache sein, irgendwas in der <form>- oder <input>-Deklaration.

Okay, andere Frage, bin ja gerne bereit, alles selbst herauszufinden. Dann nenn mir doch mal ne Seite im WWW, wo's viele Scripts für 1000de Anwendungen gibt...dann lass ich euch in Ruh'

Thx!

Schnoop 24-03-2005 16:55

Du zäumst das Pferd von hinten auf. :rolleyes:

Die Fehlermeldung ist doch wohl Aussage genug. You HAVE an Error in your blaablaa.

Hast du deine Query mal in PMA ausprobiert? Was steht in deinen Variablen drin die du eintragen willst, bzw. in der Variable die den passenden Datensatz für das Update sucht.

Zitat:

habs aber auch mit

INSERT INTO... probiert
Da du ja so gute Kenntnisse in SQL hast, müßte dir doch bekannt sein, das man wenn man Daten verändern will ein Update machen muss.

Ist klar das es mit Insert wohl nicht geht.

criszzz 24-03-2005 17:10

jau, daß mit INSERT war Blödsinn, ich weiss...

jo, hab exakt den SQL-Query auch händisch ausprobiert, mit den Werten, die ich mir da vorstelle und ja, es hat geklappt!!

Und wenn's immer noch keiner glaubt, poste ich halt nochmal meinen Query:

PHP-Code:

$sql "UPDATE item SET name = 'Artikel XYZ' WHERE id = '1'"

Die Tabelle item gibt es, einen vorhandenen Artikel mit der id=1, und ja, sie (die id) ist auch nur einmal vorhanden. Und die Spalte name als VARCHAR definiert gibt es auch...

Aber ist auch egal, ich werd's schon rausfinden...
Danke nochmal!

TobiaZ 24-03-2005 17:14

wenn du den code

PHP-Code:

$sql "UPDATE item SET name = 'Artikel XYZ' WHERE id = '1'";
mysql_query($sql); 

ausführst, wird das mit sicherheit auch funktionieren, oder bekommst du da etwa auch nen sql-fehler?

OffTopic:
Natürlich wird deine Frage hier beantwortet. Ob Profi oder Newbe spielt hier keine Rolle. Aber wenn du meinst es besser zu wissen, als dein SQL-Server. Dann ist dir halt nicht zu helfen


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:05 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG