Hjælp til at indsætte værdier i mysql

Tags:    php

<< < 12 > >>
Hej...

Har et lille problem... Er igang med en form hvor man kan oprette / opdatere nogle bruger oplysninger...

Får dog en fejl i linie 197 (linien hvor man smider det hele i db'en)...

I får liiige koden her...:

Fold kodeboks ind/udKode 


Det er ved min mysql_query at jeg får fejl... Kunne forestille mig at det var noget med $_SESSION['brugernavn'], kan bare ikke liiige finde fejlen...

Håber at der er en der kan hjælpe mig :)

Mvh
Daniel Grau



16 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
hmm ... brugernavnet er da der eneste sted hvor du IKKE bruger register_globals


Hmm... Ok ? :S

du skal også have WHERE tilsidst


mysql_query("INSERT INTO users (password, navn, by, alder, hjemmeside, mail, msn, beskrivelse) VALUES ('$_POST[password]', '$_POST[navn]', '$_POST[by]', '$_POST[alder]', '$_POST[hjemmeside]', '$_POST[mail]', '$_POST[msn]', '$_POST[beskrivelse]') WHERE brugernavn = '$_SESSION[brugernavn]'") or die(mysql_error());


Det er nok nemmere at bruge:

if(!$_POST){ // if formen



kan se du bruger _REQUEST i stedet for _POST. Det kan du godt i stedet for det jeg skrev i queryen


Hmm.. har nu prøvet formen:
Fold kodeboks ind/udKode 


Og det vil ikke rigtigt virke.. skal jeg stadig hive mine værdier ned med $navn = $_REQUEST['navn'] ???



kan du se hvad der er galt? der kommer ingen fejl?



kan du se hvad der er galt? der kommer ingen fejl?


Viser siden fint, men ligeså snart jeg skal trykke submit, så kommer følgende fejl melding:

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 'by, alder, hjemmeside, mail, msn, beskrivelse) VALUES ('****',

Ved ikke om den ikke kan tage de værdier der bliver sat ind (tekst og tal :S ) eller om den brokker sig fordi der måske er tomme felter???



findes "by" i tabellen?

du kan i øvrigt ikke bruge WHERE, når du bruger INSERT. Den indsætter jo en ny række i tabellen.



findes "by" i tabellen?

du kan i øvrigt ikke bruge WHERE, når du bruger INSERT. Den indsætter jo en ny række i tabellen.


Ja by findes...

hmm... så skal det være noget med UPDATE...:

mysql_query("UPDATE users (password, navn, by, alder, hjemmeside, mail, msn, beskrivelse) VALUES ('$_REQUEST[password]', '$_REQUEST[navn]', '$_REQUEST[by]', '$_REQUEST[alder]', '$_REQUEST[hjemmeside]', '$_REQUEST[mail]', '$_REQUEST[msn]', '$_REQUEST[beskrivelse]') WHERE brugernavn = '.$_SESSION[brugernavn].'") or die(mysql_error());
print "Dine bruger info er nu opdateret!";
}
?>

Er det ikke nogenlunde rigtigt?



nej, så ser det helt anderledes ud:


mysql_query("UPDATE users SET password='$_REQUEST[password]', navn='$_REQUEST[navn]', by='$_REQUEST[by]', alder='$_REQUEST[alder]', hjemmeside='$_REQUEST[hjemmeside]', mail='$_REQUEST[mail]', msn='$_REQUEST[msn]', beskrivelse='$_REQUEST[beskrivelse]' WHERE brugernavn = '.$_SESSION[brugernavn].'") or die(mysql_error());



<< < 12 > >>
t