Gå til innhold

Finner ikke syntaks feilen min...


Anbefalte innlegg

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 :ph34r:

Lenke til kommentar
Videoannonse
Annonse

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

// 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

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
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 '')

 

:p

 

mvh Vegard

Endret av ve_gard
Lenke til kommentar
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 av endrebjorsvik
Lenke til kommentar
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 :ph34r:

Lenke til kommentar
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 av endrebjorsvik
Lenke til kommentar
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

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...