[GastForen Programmierung/Entwicklung PHP und MySQL Radiobuttons

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Radiobuttons

Rudolfsport
Beiträge gesamt: 39

23. Dez 2004, 13:29
Beitrag # 1 von 6
Bewertung:
(1196 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
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.
Ich bin nun schon soweit, dass ich den Code habe, nur es werden andauern fhelermeldungen angezeigt:

Fehlermeldung 1:

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

So sieht der dazugehörige Code ds Koresspondierendem PHP´s aus:

<?
$link = mysql_connect('localhost', 'xxxx', 'yyyyy');
if (!$link) {
die('keine Verbindung möglich: ' . mysql_error());
}


$db_selected = mysql_select_db('xxxxx', $link);
if (!$db_selected) {
die ('Kann Kalender nicht benutzen : ' . mysql_error());
}

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

mysql_query($sql) or die ('Kann Query nicht ausführen : ' . mysql_error());

echo "<br>";
echo "<br>";
echo "<a href='javascript:history.go(-2)'><b>Zurück</b></a>";
?>

Fehlermeldung 2:

Kann Query nicht ausführen : Query was empty

Der dazugehöroge Code ist so:

<?
$variable = $_POST['NAME'] ;
$link = mysql_connect('localhost', 'llllll', 'yjlkjlk');
if (!$link) {
die('keine Verbindung möglich: ' . mysql_error());
}


$db_selected = mysql_select_db('ooooooo', $link);
if (!$db_selected) {
die ('Kann Kalender nicht benutzen : ' . mysql_error());
}


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

mysql_query($sql) or die ('Kann Query nicht ausführen : ' . mysql_error());

echo "<br>";
echo "<br>";
echo "<a href='javascript:history.go(-2)'><b>Zurück</b></a>";
?>

Dazu sei gesagt, dass das 2 varianten sind, die ich bisher versucht habe. Ich möchte nun wissen wo der Fehler liegt und ob ihr mir das eventuell verbessern könntet.



(Dieser Beitrag wurde von Rudolfsport am 23. Dez 2004, 13:30 geändert)
X

Radiobuttons

pat87
Beiträge gesamt: 581

23. Dez 2004, 13:36
Beitrag # 2 von 6
Beitrag ID: #132235
Bewertung:
(1196 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
versuche es mal so:

INSERT INTO `table` (`fiel`) VALUES ('$content');


mfg p@
---
so einfach wie möglich, aber nicht einfacher! (albert einstein)


als Antwort auf: [#132233]

Radiobuttons

Pozor
Beiträge gesamt: 892

23. Dez 2004, 14:33
Beitrag # 3 von 6
Beitrag ID: #132250
Bewertung:
(1196 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Rudolfsport,

ich denke du hast da was verwechselt beim benutzen von mysql_query:
http://www.php.net/mysql_query

diese Funktion liefert das Ergebnis und nicht die sql query zurück.

$sql = mysql_query("INSERT INTO vertrag (wahl) VALUES ('$_POST[NAME]')");
mysql_query($sql) or die ('Kann Query nicht ausführen : ' . mysql_error());

sollte so aussehen:
$ergebnis = mysql_query("INSERT INTO vertrag (wahl) VALUES ('$_POST[NAME]')");
oder
$sql = "INSERT INTO vertrag (wahl) VALUES ('$_POST[NAME]')"
$ergebnis = mysql_query($sql);

$sql = "INSERT INTO vertrag (wahl) VALUES ('$_POST[NAME]')"
solltest du in
$sql = "INSERT INTO vertrag (wahl) VALUES ('$_POST['NAME']')"
ändern, sonst sieht die query etwa so aus:

Als verarbeiteter String der so an die DB geschickt wird.
INSERT INTO vertrag (wahl) VALUES ('$_POST['NAME]')

Wenn du Probleme mit Querys hast, immer die query ausgeben:
echo '<br>QUERY:'.$sql;
So können viele Fehlerquellen schnell gefunden werden.

Gruss Stefan

"KISS - KEEP IT SIMPLE, STUPID"
Ein paar Debuggingtricks:
http://www.boelsterli.biz/test/hds/debugging.php


als Antwort auf: [#132233]

Radiobuttons

Kusi
Beiträge gesamt: 1398

23. Dez 2004, 14:39
Beitrag # 4 von 6
Beitrag ID: #132255
Bewertung:
(1196 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo
Hast du den Name der Radiobuttons als Name definiert? In der Regel wird das so geschrieben:

<input type="radio" name="radiogroup" value="radioValue">

Unter name sollte nun bei dir Name stehen sonst wird er bei der Abfrage $variable = $_POST['Name']; nicht gefunden und $variable ist leer.

Gruss
Kusi

http://www.k-k.ch
Grafik, Layout, Webdesign


als Antwort auf: [#132233]

Radiobuttons

ganesh
Beiträge gesamt: 1981

23. Dez 2004, 14:46
Beitrag # 5 von 6
Beitrag ID: #132258
Bewertung:
(1196 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Achtung mit ' + "

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

^ so wird nie was draus


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

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

Etwas mühsamer zu lesen, deshalb ziehe ich meist erste Variante vor. Aber da man sowieso NIE ungeprüfte / ungefilterte User-Inputs speichern sollte, muss man eh zuerst die Werte kontrollieren, und das läuft meistens über Zwischenvariablen.




als Antwort auf: [#132233]

Radiobuttons

Rudolfsport
Beiträge gesamt: 39

23. Dez 2004, 22:25
Beitrag # 6 von 6
Beitrag ID: #132314
Bewertung:
(1196 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hi,
ok danke für eure hilfe, ich habe es nun hinbekommen.


als Antwort auf: [#132233]
X