Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the righ
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
alt
angebot
eigene vorschlge
einfachen anfhrungszeichen
error
exit
fehler
fehlermeldung
formular
fragebogen
gefallen
gymnasium
insert
kommando
schulhof
sicherheitsfrage
transitional
verbessert
verbesserung
vorschlag
-
Hallo,
dieser Fehler:
Error: 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 'sqlkommando' at line 1
kommt leida immer. Ich habe leida aber nicht den fehler gefunde. Der Code ist
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> <meta name="author" content="Administrator"> <meta name="generator" content="HTML-Editor von Thomas Rudolph"> </head> <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000"> <?php $verbindung = mysql_connect( "mysql.lima-city.de", "USER77761", "*****"); if (!$verbindung) { echo "<br><center><b>- Keine Verbindung zur Datenbank -</b></center>"; exit; } mysql_select_db("db_77761_1"); //Datenbank auswählen in die geschrieben werden soll if(!preg_match('!^http://!i',$homepage)) { $homepage='http://'.$homepage; } if(!preg_match('!^Brante!i',$sicherheitsfrage)&& 'neueintrag' == $_POST['senden'] ) { echo 'Falsche Antwort auf die Sicherheitsfrage'; } if(!isset($_POST['neueintrag'])) { $name = addslashes($_POST['name']); $alter = addslashes($_POST['alter']); $geschlecht = addslashes($_POST['geschlecht']); $gefallen = addslashes($_POST['gefallen']); $verbessern = addslashes($_POST['verbessern']); $was = addslashes($_POST['was']); $vorschlaege = addslashes($_POST['vorschlaege']); $sicherheitsfrage = addslashes($_POST['sicherheitsfrage']); $sqlkommando = "INSERT INTO schulhof (name, alter, geschlecht, gefallen, verbessern, was, vorschlaege) VALUES ('$name', '$alter', '$geschlecht', '$gefallen','$verbessern', '$was', '$vorschlaege')"; mysql_query(sqlkommando) or die("Error: ". mysql_error()); // Kommando 'sqlkommando' ausfuehren // bei misserfolg beenden und fehlermeldung ausgeben } ?> <font size="5+">Fragebogen zum Schulhof</font> <form enctype='multipart/form-data' action='#' method='post' name="eintragung"> <!-- Anfang des Formulars --> <p><font size="4">Name: <input type="text" name="name" size="30" > </p> <p> Alter: <select name="alter"> <option value"10">10</option> <option value"11">11</option> <option value"12">12</option> <option value"13">13</option> <option value"14">14</option> <option value"15">15</option> <option value"16">16</option> <option value"17">17</option> <option value"18">18</option> <option value"19">19</option> </select> </p> <p> Geschlecht: <input type="radio" name="geschlecht" value"m"> männlich <input type="radio" name="geschlecht" value"w"> weiblich </p> <p> Wie gefällt Dir der Schulhof? </font> <br> (1=sehr - 4=sehr schlecht) <br> <input type="radio" name="gefallen" value"1"> 1 <input type="radio" name="gefallen" value"2"> 2 <input type="radio" name="gefallen" value"3"> 3 <input type="radio" name="gefallen" value"4">4 </p> <p> <font size="4"> Würdest du etwas verbessern wollen? <br> <input type="radio" name="verbessern" value"ja"> Ja <input type="radio" name="verbessern" value"nein">Nein </p> <p> Welches Angebot sollte verbessert werden?<br> <input type="radio" name="was" value"sitzmöglichkeiten"> Sitzmöglichkeiten <br> <input type="radio" name="was" value"fußballtore"> Fußballtore <br> <input type="radio" name="was" value"basketballkoerbe"> Basketballkörbe <br> <input type="radio" name="was" value"tischtennisplatten">Tischtennisplatten<br> <input type="radio" name="was" value"turnstangen">Turnstangen <br> </p> <p>Eigene Vorschläge zur Verbesserung des Schulhofes<br> <input type="text" name="vorschlaege" size="30" > </p> <p> Sicherheitsfrage:<br></font> Wie heißt die Bäckerei, die die Cafeteria im Immanuel Kant Gymnasium betreibt?<br> <input type="text" name="sicherheitsfrage" size="40" > </p> <input type="submit" name="neueintrag" value="Abschicken"> <input type="reset" value="Löschen"> </form> </body> </html>
DAnke
Beitrag geaendert: 13.4.2007 19:52:09 von itak4ever -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Das Problem ist anscheinend, dass du eine Spalte namens 'alter' besitzt. Dies interpretiert MsSQL als ALTER-Befehl. Am Besten benennst du die Spalte z.B. in 's_alter' um.
Du solltest außerdem aufpassen, was du hier veröffentlichst. Du hast hier deine Zugangsdaten für alle offen sichtbar gemacht!
MfG, bohrty. -
habe alles mit alter geändert aba der selbe Fehler.
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> <meta name="author" content="Administrator"> <meta name="generator" content="HTML-Editor von Thomas Rudolph"> </head> <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000"> <?php $verbindung = mysql_connect( "mysql.lima-city.de", "USER77761", "****"); if (!$verbindung) { echo "<br><center><b>- Keine Verbindung zur Datenbank -</b></center>"; exit; } mysql_select_db("db_77761_1"); //Datenbank auswählen in die geschrieben werden soll if(!preg_match('!^http://!i',$homepage)) { $homepage='http://'.$homepage; } if(!preg_match('!^Brante!i',$sicherheitsfrage)&& 'neueintrag' == $_POST['senden'] ) { echo 'Falsche Antwort auf die Sicherheitsfrage'; } if(!isset($_POST['neueintrag'])) { $name = addslashes($_POST['name']); $geb = addslashes($_POST['geb']); $geschlecht = addslashes($_POST['geschlecht']); $gefallen = addslashes($_POST['gefallen']); $verbessern = addslashes($_POST['verbessern']); $was = addslashes($_POST['was']); $vorschlaege = addslashes($_POST['vorschlaege']); $sicherheitsfrage = addslashes($_POST['sicherheitsfrage']); $sqlkommando = "INSERT INTO schulhof (name, geb, geschlecht, gefallen, verbessern, was, vorschlaege) VALUES ('$name', '$geb', '$geschlecht', '$gefallen','$verbessern', '$was', '$vorschlaege')"; mysql_query(sqlkommando) or die("Error: ". mysql_error()); // Kommando 'sqlkommando' ausfuehren // bei misserfolg beenden und fehlermeldung ausgeben } ?> <font size="5+">Fragebogen zum Schulhof</font> <form enctype='multipart/form-data' action='#' method='post' name="eintragung"> <!-- Anfang des Formulars --> <p><font size="4">Name: <input type="text" name="name" size="30" > </p> <p> Alter: <select name="geb"> <option value"10">10</option> <option value"11">11</option> <option value"12">12</option> <option value"13">13</option> <option value"14">14</option> <option value"15">15</option> <option value"16">16</option> <option value"17">17</option> <option value"18">18</option> <option value"19">19</option> </select> </p> <p> Geschlecht: <input type="radio" name="geschlecht" value"m"> männlich <input type="radio" name="geschlecht" value"w"> weiblich </p> <p> Wie gefällt Dir der Schulhof? </font> <br> (1=sehr - 4=sehr schlecht) <br> <input type="radio" name="gefallen" value"1"> 1 <input type="radio" name="gefallen" value"2"> 2 <input type="radio" name="gefallen" value"3"> 3 <input type="radio" name="gefallen" value"4">4 </p> <p> <font size="4"> Würdest du etwas verbessern wollen? <br> <input type="radio" name="verbessern" value"ja"> Ja <input type="radio" name="verbessern" value"nein">Nein </p> <p> Welches Angebot sollte verbessert werden?<br> <input type="radio" name="was" value"sitzmöglichkeiten"> Sitzmöglichkeiten <br> <input type="radio" name="was" value"fußballtore"> Fußballtore <br> <input type="radio" name="was" value"basketballkoerbe"> Basketballkörbe <br> <input type="radio" name="was" value"tischtennisplatten">Tischtennisplatten<br> <input type="radio" name="was" value"turnstangen">Turnstangen <br> </p> <p>Eigene Vorschläge zur Verbesserung des Schulhofes<br> <input type="text" name="vorschlaege" size="30" > </p> <p> Sicherheitsfrage:<br></font> Wie heißt die Bäckerei, die die Cafeteria im Immanuel Kant Gymnasium betreibt?<br> <input type="text" name="sicherheitsfrage" size="40" > </p> <input type="submit" name="neueintrag" value="Abschicken"> <input type="reset" value="Löschen"> </form> </body> </html>
Ist gehostet unter http://itak4ever.lima-city.de/sh/umfrage.php -
Hallo!
Dein Fehler liegt in Zeile 52:
mysql_query(sqlkommando)
Du hast das $ Zeichen vergessen, so muss das aussehen:
mysql_query($sqlkommando) ...
Jetzt sollte alles funktionieren.
Gruß,
Beschu -
Danke. es geht aber er übermittelt nur " " und keine daten. Why
-
Danke. es geht aber er übermittelt nur " " und keine daten. Why
Hallo!
Probiers mal so:
Zeile 67:
<form enctype='multipart/form-data' action='umfrage.php' method='post' name='eintragung'> <!-- Anfang des Formulars -->
Gruß,
beschu -
Hi,
und wenn du gut bist kannst du noch deine Variablen mit mysql_escape_string() für mysql_query() vorbereiten. Damit werden alle Zeichen escaped :-) ...verhindert blöde Fehler bei blöden Nutzereingaben
Gruß -
Danke für die Antworten. Geht immer noch nicht. Ich glaube,dass es an den radio und selct button liegt, weil ich diese zum ersten mal einsetze. Aktueller Code:
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title></title> <meta name="author" content="Administrator"> <meta name="generator" content="HTML-Editor von Thomas Rudolph"> </head> <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000"> <?php $verbindung = mysql_connect( "mysql.lima-city.de", "USER77761", "****"); if (!$verbindung) { echo "<br><center><b>- Keine Verbindung zur Datenbank -</b></center>"; exit; } mysql_select_db("db_77761_1"); //Datenbank auswählen in die geschrieben werden soll if(!isset($_POST['neueintrag'])) { if(!preg_match('!^Brante!i',$sicherheitsfrage)&& 'neueintrag' == $_POST['senden'] ) { echo 'Falsche Antwort auf die Sicherheitsfrage'; } $name = addslashes($_POST['name']); $geb = addslashes($_POST['geb']); $geschlecht = addslashes($_POST['geschlecht']); $gefallen = addslashes($_POST['gefallen']); $verbessern = addslashes($_POST['verbessern']); $was = addslashes($_POST['was']); $vorschlaege = addslashes($_POST['vorschlaege']); $sicherheitsfrage = addslashes($_POST['sicherheitsfrage']); $sqlkommando = "INSERT INTO schulhof (name, geb, geschlecht, gefallen, verbessern, was, vorschlaege) VALUES ('$name', '$geb', '$geschlecht', '$gefallen','$verbessern', '$was', '$vorschlaege')"; mysql_query($sqlkommando) or die("Error: ". mysql_error()); // Kommando 'sqlkommando' ausfuehren // bei misserfolg beenden und fehlermeldung ausgeben } ?> <font size="5+">Fragebogen zum Schulhof</font> <form enctype='multipart/form-data' action='umfrage.php' method='post' name='eintragung'><!-- Anfang des Formulars --> <p><font size="4">Name: <input type="text" name="name" size="30" > </p> <p> Alter: <select name="geb"> <option value"10">10</option> <option value"11">11</option> <option value"12">12</option> <option value"13">13</option> <option value"14">14</option> <option value"15">15</option> <option value"16">16</option> <option value"17">17</option> <option value"18">18</option> <option value"19">19</option> </select> </p> <p> Geschlecht: <input type="radio" name="geschlecht" value"m"> männlich <input type="radio" name="geschlecht" value"w"> weiblich </p> <p> Wie gefällt Dir der Schulhof? </font> <br> (1=sehr - 4=sehr schlecht) <br> <input type="radio" name="gefallen" value"1"> 1 <input type="radio" name="gefallen" value"2"> 2 <input type="radio" name="gefallen" value"3"> 3 <input type="radio" name="gefallen" value"4">4 </p> <p> <font size="4"> Würdest du etwas verbessern wollen? <br> <input type="radio" name="verbessern" value"ja"> Ja <input type="radio" name="verbessern" value"nein">Nein </p> <p> Welches Angebot sollte verbessert werden?<br> <input type="radio" name="was" value"sitzmöglichkeiten"> Sitzmöglichkeiten <br> <input type="radio" name="was" value"fußballtore"> Fußballtore <br> <input type="radio" name="was" value"basketballkoerbe"> Basketballkörbe <br> <input type="radio" name="was" value"tischtennisplatten">Tischtennisplatten<br> <input type="radio" name="was" value"turnstangen">Turnstangen <br> </p> <p>Eigene Vorschläge zur Verbesserung des Schulhofes<br> <input type="text" name="vorschlaege" size="30" > </p> <p> Sicherheitsfrage:<br></font> Wie heißt die Bäckerei, die die Cafeteria im Immanuel Kant Gymnasium betreibt?<br> <input type="text" name="sicherheitsfrage" size="40" > </p> <input type="submit" name="neueintrag" value="Abschicken"> <input type="reset" value="Löschen"> </form> </body> </html>
Danke -
Hmm willst du ein BG(Browsergame) machen?;)
-
Ach nur so ^^ dachte nur. Es gibt über 100 von Scripts im Internet für Formulare auch Hilfen dafür einfach mal etwas Googeln den findet man schon was
-
Habe ich aber ich habe leider nichts gefunde, sonst hääte ich es hir net gepostet´. Bitte helft mir.
-
Habe ich aber ich habe leider nichts gefunde, sonst hääte ich es hir net gepostet´. Bitte helft mir.
Versuch es mal hier
da gibt es Hauffende von Formular Scriptehttp://www.php-free.de/Formular-Verarbeitung/
-
Hat sich erledigt habe den fehler irgendwie behoben, indem ich eine Vorlage genommen habe und diese umgechrieben habe. Aber danke für die vielen Antworten
-
Ich hab nochmal die Antwort, woran es bei dir lag:
Der Query:
$sqlkommando = 'INSERT INTO schulhof (name, geb, geschlecht, gefallen, verbessern, was, vorschlaege) VALUES ('$name', '$geb', '$geschlecht', '$gefallen','$verbessern', '$was', '$vorschlaege')';
war falsch, bei einfachen Anführungszeichen kann man keine Variablen "normal" einbauen. Außerdem wurde bei jedem einfachen Anführungszeichen der String unterbrochen.
besser wäre:$sqlkommando = "INSERT INTO schulhof (name, geb, geschlecht, gefallen, verbessern, was, vorschlaege) VALUES ('$name', '$geb', '$geschlecht', '$gefallen','$verbessern', '$was', '$vorschlaege')";
Das wäre die einfachste veränderung von zwei zeichen.
-AlienDwarf -
Ich hab nochmal die Antwort, woran es bei dir lag:
Der Query:
$sqlkommando = 'INSERT INTO schulhof (name, geb, geschlecht, gefallen, verbessern, was, vorschlaege) VALUES ('$name', '$geb', '$geschlecht', '$gefallen','$verbessern', '$was', '$vorschlaege')';
war falsch, bei einfachen Anführungszeichen kann man keine Variablen "normal" einbauen. Außerdem wurde bei jedem einfachen Anführungszeichen der String unterbrochen.
besser wäre:$sqlkommando = "INSERT INTO schulhof (name, geb, geschlecht, gefallen, verbessern, was, vorschlaege) VALUES ('$name', '$geb', '$geschlecht', '$gefallen','$verbessern', '$was', '$vorschlaege')";
Das wäre die einfachste veränderung von zwei zeichen.
-AlienDwarf
Wo ist denn nun bei den beiden Codes der Unterschied? Sieht für mich genau gleich aus. Du meinst bestimmt die Veränderung von zwei einfachen Anführungszeichen in zwei doppelte, oder?
MfG, Bohrty. -
ich kann kie nur vermuten, da Hochstriche in ' verändert werden.
Die Änderung \Hochstriche Hochstriche. $geschlecht. Hochstriche\Hochstriche
Beitrag geaendert: 14.4.2007 13:05:57 von ef06 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage