Fehler MySQL
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
alt
befehl
checken
date
datei
dfg
eintrag
email
exit
fehler
insert
klammern
kopiert hast
la mal
not
null
show
stehen
syntax
tabelle
-
also ich schreib grad ein art Guestbook, eigentlich hatte ich schon mal eines das funzte und ich wolltes jetzt bissal vereinfachen und dann auch layoutm??ig anpssen, aber jetzt klappt das eintragen nicht mehr ....
sagt:
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 'alter, email, show, title, text) VALUES ('', '1128445095', 'as
kann mal wer sagen ob er da nen Fehler sieht ???
<?php require('conf/fb_conf.inc'); $do = $HTTP_POST_VARS["do"]; if($do != "1") { ?> <div style='text-align:center;'> <FORM ENCTYPE="multipart/form-data" ACTION="add.php" METHOD="POST"> <table> <tr> <td>Name:</td> <td><input type='text' name='name' size='25' maxlength='40'></td> <td>Alter:</td> <td><input type='text' name='alter' size='5' maxlength='5'></td> </tr> <tr> <td>E-Mail:</td> <td colspan='2'><input type='text' name='mail' size='25' maxlength='45'></td> <td> <input type="radio" name="show" value="1" checked="checked"> Ja <input type="radio" name="show" value="0"> Nein </td> </tr> <tr> <td>Titel:</td> <td colspan='3'><input type='text' name='title' size='35' maxlength='45'></td> </tr> <tr> <td>Text:</td> <td colspan='3'><textarea name='text' rows='10' cols='40'></textarea></td> </tr> <tr> <td><input name='do' type='hidden' value='1'></td> <td> </td> <td> </td> <td><INPUT NAME='done' TYPE='submit' VALUE='Send'></td> </tr> </table> </FORM> </div> <?php exit(); } else{ $date = time(); $name = $HTTP_POST_VARS["name"]; $alter = $HTTP_POST_VARS["alter"]; $mail = $HTTP_POST_VARS["mail"]; $show = $HTTP_POST_VARS["show"]; $title = $HTTP_POST_VARS["title"]; $text = $HTTP_POST_VARS["text"]; $eintrag = "INSERT INTO $table (id, date, name, alter, email, show, title, text) VALUES ('', '$date', '$name', '$alter', '$mail', '$show', '$title', '$text')"; $eintragen = mysql_query($eintrag); if(!$eintragen) { echo mysql_error(); } else { ?> <div style='text-align:center;'> Erfolgreich eingetragen </div> <?php exit(); } } ?>
und die Tabelle:
CREATE TABLE `fg05` (
`id` int(8) unsigned NOT NULL auto_increment,
`date` varchar(12) NOT NULL default '',
`name` varchar(40) NOT NULL default '',
`alter` varchar(5) NOT NULL default '',
`email` varchar(45) NOT NULL default '',
`show` varchar(5) NOT NULL default '',
`title` varchar(45) NOT NULL default '',
`text` text NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ; -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hm... ich finde eigentlich keinen Fehler... lass mal $eintrag nach dem absenden ausgeben und kopier dir das in phpmyadmin und f?hre es aus, ich bin da schon manchmal auf den Fehler draufgekommen.
Aber ich kann keinen Fehler sehen... -
?h... jetzt check ichs noch weniger :D
Hm.. da ist ja eigentlich nix falsch... *weitersuch*
Also um den Fehler mal ein bisschen einzugrenzen... die php Datei funktioniert grunds?tzlich mal, nur der Mysql Befehl stimmt dann anscheinend nicht...
Nur wenn ich mir den Befehl so anschaue und mit dem reproduzierten Code von phpmyadmin vergleiche ist da ja kein Unterschied *verwirrt* -
du hast bei if($eintrag){ was falsch, denn da steht if(!$eintrag){ stehen, was der fehler sein kann wenn su das script hieer ins forum kopiert hast
-
du hast bei if($eintrag){ was falsch, denn da steht if(!$eintrag){ stehen, was der fehler sein kann wenn su das script hieer ins forum kopiert hast
wieso sollte das ein fehler sein?
da wird ?berpr?ft ob der eintrag get?tigt wurde, und wenn nicht wird das in klammer ausgef?hrt.
... scheinbar hat der Server die namen 'mail' und 'alter' nicht verkraftet, hab sie umbenannt und es hat geklappt -
du h?ttest wenn dann schreiben m?ssen if($eintrag!===true)
{eintrag nicht durchgef?hrt}
if($eintrag==true)
{Eintrag durchgef?hrt.} -
Ist die ID auto_increment? Dann kannst du dir das INSERT f?r die ID sparen, also ganz weglassen und nicht leer setzen. Das w?re meine Vorschlag warum es nicht geht.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage