Avatar billede php-jones Nybegynder
14. juni 2008 - 19:24 Der er 3 kommentarer

Jeg kan ikke indsætte noget i min database.

Jeg har for kort tid siden lavet lidt PHP, men så stødte jeg på et problem.

Jeg har min MySQL database og vil gerne have noget indhold deri.
Jeg skrev derfor:

mysql_query("INSERT INTO mintabel (mitfelt, mitfelt2) VALUES ($_POST['post1'], $_POST['post2')") OR DIE(mysql_error());

Jeg har connected til min database og jeg har også lavet tabellen, men alligevel skriver den en fejl på skærmen.

Forresten, jeg har skrevet at jeg vil have indsat det der er blevet skrevet i $_POST post1 og post2, da det er fra en html-formular fra en anden side. Alt ved den formular er lavet korrekt, der er bare noget i det ovenstående script som ikke passer.

Mit spørgsmål er derfor følgende: Hvad skal jeg gøre for at få det til at funke?
Avatar billede yHec Novice
14. juni 2008 - 19:28 #1
mysql_query("INSERT INTO mintabel (mitfelt, mitfelt2) VALUES ({$_POST['post1']}, {$_POST['post2']}")

/y
Avatar billede olebole Juniormester
14. juni 2008 - 19:35 #2
<ole>

For det første må du _aldrig_ sætte noget somhelst brugerinput ind i en DB uden først at validere det grundigt!

Dernæst bør du escape dine værdier:
    mysql_query("INSERT INTO mintabel (mitfelt, mitfelt2) VALUES ('".$post1."', '".$post2."')") OR DIE(mysql_error());

- og så er det fornuftigt at backtick'e tabel- og feltnavne:
    mysql_query("INSERT INTO `mintabel` (`mitfelt`, `mitfelt2`) VALUES ('".$post1."', '".$post2."')") OR DIE(mysql_error());

/mvh
</bole>
Avatar billede yHec Novice
01. august 2011 - 17:12 #3
Skal måske lukkes?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester