PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Radiobuttons


Rudolfsport
23.12.2004, 11:04:07
halöle,
ich hab ne frage. Ich habe in einem Formular einige radio buttons untergebracht. Nun möchte ich, dass der gewählte radio button nach drücken eines bestätigungsbuttons in eine Datenbank eingetragen wird.

Soweit so gut, ich bekomme nun folgende fehlermeldung:

Kann Query nicht ausführen : 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 '1' at line 1

Ok es sit was an der SQL Syntax. Aber ich kann keinen Fehler finden. Hier mal das SQL:


CREATE TABLE `vertrag` (
`wahl` char(3) NOT NULL default ''
) TYPE=MyISAM;


Mein aktueller Code, der die Radiobuttons eintragen soll, sieht so aus:

$sql = mysql_query("INSERT INTO vertrag (wahl) VALUES ('$_POST[NAME]')");

Ich weis nicht, wo das problem ist. Könnt ihr mir weiterhelfen?

Jürg
23.12.2004, 11:22:12
Übernehme zuerst den Post-Wert in eine Variable und füge die in den sql.
$variable = $_POST['NAME'] ;
$sql = mysql_query("INSERT INTO vertrag ('wahl') VALUES ('".$variable."')" ) ;

xabbuh
23.12.2004, 11:34:55
$sql = mysql_query("INSERT INTO vertrag (wahl) VALUES ('{$_POST['NAME']}')");

http://www.php-faq.de/q/q-mysql-fehlerbehandlung.html

Rudolfsport
23.12.2004, 13:12:30
hallo,
ich habe nun beide mal versucht, bei dem von Jürg kommt diese Fehlermeldung:

Kann Query nicht ausführen : Query was empty

Bei dem von xabbuh diese:

Kann Query nicht ausführen : 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 '1' at line 1

Ich habe mir die seite angeschaut. So wirklich gibt mir das keinen aufschluß über die behandlung des probelems, da ja um das feld name die '' bereits sind.

Jürg
23.12.2004, 13:30:10
Wird die Variable überhaupt übergeben?
Versuch doch einmal mit echo:
$variable = $_POST['NAME'] ;
echo $variable ;
$sql = mysql_query("INSERT INTO vertrag ('wahl') VALUES ('".$variable."')" ) ;
echo $sql ;
Den Ausdruck von $sql fügst Du direkt in phpMyAdmin in das Feld SQL ein.
In dem Feld kannst Du nun auch leicht Änderungen am Befehl vornehmen.

Rudolfsport
23.12.2004, 13:36:34
KAnnst du mir sagen wo genau ich das eintragen soll? da wo ich gedacht habe kommt dann eine fehlermeldung.

Und ich muss dann des $sql genau so da eintragen?

xabbuh
23.12.2004, 13:40:30
An der im Stelle im Code, an der dein Query steht, machst du folgendes:

<?php
$variable = $_POST['NAME'] ;

echo $variable ;

$sql = "INSERT INTO vertrag ('wahl') VALUES ('".$variable."')";

echo $sql ;
?>


@Jürg:
Die Rückgabe von mysql_query anzuzeigen macht nicht sonderlich viel Sinn, da du dort nur etwas wie ressource #12 erhälst.

Rudolfsport
23.12.2004, 13:49:12
HAb mir das jetzt ma lanzeigen lassen, so sieht´s aus:

INSERT INTO vertrag ('wahl') VALUES ('')Kann Query nicht ausführen : 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 ''wahl') VALUES ('')' at line 1

Kann es sein, dass das erste script keine daten an das hier weiter gibt?

xabbuh
23.12.2004, 13:52:02
Dann hat $_POST['name'] wohl keinen Wert.
Außerdem gehören die Spalten, in du die in der Tabelle schreiben möchtest, im Query nicht innerhalb von Singlequotes (').

Rudolfsport
23.12.2004, 14:04:48
Danke an xabbuh und Jürg für die hilfe, ich habe es nun hingebracht. Hab mich einfach nur im ersten formular vertippt und name mit h geschrieben. :p.

xabbuh
23.12.2004, 14:16:59
Auf solche Sachen solltest du langsam aber auch mal alleine kommen können, meinst du nicht?

Rudolfsport
23.12.2004, 18:04:53
ja. Ab jetzt schau ich mir das script vorher nochmal genau an. Trotzdem danke für die geduld.