Hayer Skrevet 16. april 2007 Del Skrevet 16. april 2007 Hei Finner ikke syntaks feilen min, men dere finner den sikkert med engang <?php // inkluderer konfig. filen include "cfg.php"; // Setter opp database og form variabelene $db_name = "clansys"; $html ="<form action='' method=post> Lag #1 vs Lag #2<br> <input type=text name=lag1> vs <input type=text name=lag2><br><br> Resultat (Lag #1) vs Resultat (Lag #2)<br> <input type=text name=res1> vs <input type=text name=res2><br><br> Map<br> <input type=text name=map><br> <input type=submit name=legg_til value=Legg til kamp resultat.>"; // Sjekker om knappen i formen blir trykket if(isset($_POST['legg_til'])){ // kobler til database og kjører setning mysql_connect("$host", "$username", "$password") or die("Cannot connect to database server!"); mysql_select_db("$db_name") or die("Cannot find the database on the server!"); $lag = $_POST['lag1'] . " vs " . $_POST['lag2']; $resultat = $_POST['res1'] . " - " . $_POST['res2']; $map = $_POST['map']; $sql = "INSERT INTO $tbl_name(id, lag, resultat, map), VALUES('', '$lag', '$resultat', '$map')"; $result = mysql_query($sql); // Hvis ja som blir skrevet til databasen. echo "Dette ble lagt til i databasen:<br> $lag<br> $resultat<br> $map"; Tilbake(); } // Hvis knappen ikke blir trykket skrives dette ut.. else{ echo $html; } ?> Takk ps : copyright på alle koden over Lenke til kommentar
endrebjo Skrevet 16. april 2007 Del Skrevet 16. april 2007 Du må poste feilmelding også. Lenke til kommentar
ve_gard Skrevet 16. april 2007 Del Skrevet 16. april 2007 Ser iallefall èn feil... $sql = "INSERT INTO $tbl_name(id, lag, resultat, map), VALUES('', '$lag', '$resultat', '$map')"; skal være... $sql = "INSERT INTO tbl_name(id, lag, resultat, map), VALUES('$lag', '$resultat', '$map')"; Hmm... mvh Vegard Lenke til kommentar
ve_gard Skrevet 16. april 2007 Del Skrevet 16. april 2007 // Hvis ja som blir skrevet til databasen. echo "Dette ble lagt til i databasen:<br> <--- skulle det da heller sjekket om sql'query'n ble gjennomført... if(mysql_query($sql)){ echo "Dette ble lagt til i databasen:<br> }else{ echo "Feilet ved posting til databasen!"; } mvh Vegard Lenke til kommentar
Gjest Slettet+142 Skrevet 16. april 2007 Del Skrevet 16. april 2007 gjør denne $sql = "INSERT INTO $tbl_name(id, lag, resultat, map), VALUES('', '$lag', '$resultat', '$map')"; om til denne? $sql = "INSERT INTO $tbl_name(lag, resultat, map) VALUES('$lag', '$resultat', '$map')"; Lenke til kommentar
ve_gard Skrevet 17. april 2007 Del Skrevet 17. april 2007 (endret) gjør denne $sql = "INSERT INTO $tbl_name(id, lag, resultat, map), VALUES('', '$lag', '$resultat', '$map')"; om til denne? $sql = "INSERT INTO $tbl_name(lag, resultat, map) VALUES('$lag', '$resultat', '$map')"; 8397469[/snapback] (er vell med en $ for my til deg også.... sammenlignet med den jeg postet lengere opp. Der jeg fjerna den $ og et par slike '') mvh Vegard Endret 17. april 2007 av ve_gard Lenke til kommentar
endrebjo Skrevet 17. april 2007 Del Skrevet 17. april 2007 (endret) Ser iallefall èn feil...$sql = "INSERT INTO $tbl_name(id, lag, resultat, map), VALUES('', '$lag', '$resultat', '$map')"; skal være... $sql = "INSERT INTO tbl_name(id, lag, resultat, map), VALUES('$lag', '$resultat', '$map')"; Hmm... mvh Vegard 8396839[/snapback] Jeg tror du har laget feil i noe som ikke er feil.$tbl_name skal mest sannsynlig være $tbl_name. Ingen kaller tabellene sine for tbl_name, men bestemmer gjerne et navn en annen plass i php-filen (config-delen) og henter dette navnet frem med $tbl_name. Dessuten er det meningen at han skal sende et tomt id-felt, siden dette veldig ofte er auto_increment. Når han/du har definert fire kolonner i tabellen (id, lan, resultat, map), så blir det veldig feil å bare sende tre kolonner i VALUES(). Kan du egentlig SQL? Endret 17. april 2007 av endrebjorsvik Lenke til kommentar
ve_gard Skrevet 17. april 2007 Del Skrevet 17. april 2007 Ser iallefall èn feil...$sql = "INSERT INTO $tbl_name(id, lag, resultat, map), VALUES('', '$lag', '$resultat', '$map')"; skal være... $sql = "INSERT INTO tbl_name(id, lag, resultat, map), VALUES('$lag', '$resultat', '$map')"; Hmm... mvh Vegard 8396839[/snapback] Jeg tror du har laget feil i noe som ikke er feil.$tbl_name skal mest sannsynlig være $tbl_name. Ingen kaller tabellene sine for tbl_name, men bestemmer gjerne et navn en annen plass i php-filen (config-delen) og henter dette navnet frem med $tbl_name. Dessuten er det meningen at han skal sende et tomt id-felt, siden dette veldig ofte er auto_increment. Når han/du har definert fire kolonner i tabellen (id, lan, resultat, map), så blir det veldig feil å bare sende tre kolonner i VALUES(). Kan du egentlig SQL? 8404893[/snapback] Hmm... ok jeg kan gå med på den med $tbl_name, men ikke at han sender inn et tom resultat. er jo meningsløst det. Er det auto_increment så vil den fylle seg selv ved nytt innslag i tabellen. Dermed ingen vits i å sette inn på plassen til 'id'. Jeg kan SQL ja, lærer dag for dag... alltid noe nytt å lære. mvh Vegard Lenke til kommentar
ve_gard Skrevet 17. april 2007 Del Skrevet 17. april 2007 Men likevell.. kanskje på tide at mr.trådstarter poster feilmeldinga? mvh Vegard Lenke til kommentar
endrebjo Skrevet 17. april 2007 Del Skrevet 17. april 2007 (endret) Hmm... ok jeg kan gå med på den med $tbl_name, men ikke at han sender inn et tom resultat. er jo meningsløst det. Er det auto_increment så vil den fylle seg selv ved nytt innslag i tabellen. Dermed ingen vits i å sette inn på plassen til 'id'. Jeg kan SQL ja, lærer dag for dag... alltid noe nytt å lære. 8406854[/snapback] Greien er at ha/du hadde spesifisert at det skulle settes data inn i id, lag, resultat og map. Når du da tok vekk '' uten å ta vekk id i spesifikasjonen lagde du bare et problem av noe som ikke er et problem.Selv pleier jeg bare å droppe kolonnespesifikasjonen og sende tomme felter til de feltene som ikke skal fylles. Jeg tror ikke det er uvanlig. Eventuelt kan man bytte ut '' med NULL. Så hvis han skulle gjort det på din måte, måtte det vært skrevet slik: $sql = "INSERT INTO $tbl_name (lag, resultat, map) VALUES('$lag', '$resultat', '$map')"; og ikke slik: $sql = "INSERT INTO $tbl_name (id, lag, resultat, map) VALUES('$lag', '$resultat', '$map')"; Som sagt er også disse fire her lovlige: $sql = "INSERT INTO $tbl_name (id, lag, resultat, map) VALUES('', '$lag', '$resultat', '$map')"; $sql = "INSERT INTO $tbl_name (id, lag, resultat, map) VALUES(NULL, '$lag', '$resultat', '$map')"; $sql = "INSERT INTO $tbl_name VALUES('', '$lag', '$resultat', '$map')"; $sql = "INSERT INTO $tbl_name VALUES(NULL, '$lag', '$resultat', '$map')"; Det som derimot skaper problemer, er at det står et komma etter kolonnespesifikasjonen. Det skal ikke være der. $sql = "INSERT INTO $tbl_name(id, lag, resultat, map), VALUES('', '$lag', '$resultat', '$map')"; $sql = "INSERT INTO $tbl_name(id, lag, resultat, map) VALUES('', '$lag', '$resultat', '$map')"; Endret 17. april 2007 av endrebjorsvik Lenke til kommentar
ve_gard Skrevet 17. april 2007 Del Skrevet 17. april 2007 Greien er at ha/du hadde spesifisert at det skulle settes data inn i id, lag, resultat og map. Når du da tok vekk '' uten å ta vekk id i spesifikasjonen lagde du bare et problem av noe som ikke er et problem.Selv pleier jeg bare å droppe kolonnespesifikasjonen og sende tomme felter til de feltene som ikke skal fylles. Jeg tror ikke det er uvanlig. Eventuelt kan man bytte ut '' med NULL. Så hvis han skulle gjort det på din måte, måtte det vært skrevet slik: $sql = "INSERT INTO $tbl_name (lag, resultat, map) VALUES('$lag', '$resultat', '$map')"; og ikke slik: $sql = "INSERT INTO $tbl_name (id, lag, resultat, map) VALUES('$lag', '$resultat', '$map')"; Som sagt er også disse fire her lovlige: $sql = "INSERT INTO $tbl_name (id, lag, resultat, map) VALUES('', '$lag', '$resultat', '$map')"; $sql = "INSERT INTO $tbl_name (id, lag, resultat, map) VALUES(NULL, '$lag', '$resultat', '$map')"; $sql = "INSERT INTO $tbl_name VALUES('', '$lag', '$resultat', '$map')"; $sql = "INSERT INTO $tbl_name VALUES(NULL, '$lag', '$resultat', '$map')"; Det som derimot skaper problemer, er at det står et komma etter kolonnespesifikasjonen. Det skal ikke være der. $sql = "INSERT INTO $tbl_name(id, lag, resultat, map), VALUES('', '$lag', '$resultat', '$map')"; $sql = "INSERT INTO $tbl_name(id, lag, resultat, map) VALUES('', '$lag', '$resultat', '$map')"; 8407210[/snapback] Aight... der var den en glipp fra min sin side.. selvfølgelig skal jeg ikke ha med input id.. Meningen min var å skrive den setningen som du så riktig rettet opp ja.. [i]$sql = "INSERT INTO $tbl_name (lag, resultat, map) VALUES('$lag', '$resultat', '$map')";[/i] mvh vegard Lenke til kommentar
Hayer Skrevet 18. april 2007 Forfatter Del Skrevet 18. april 2007 takk fant ut av det.. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå