chrottoMedlem sedan juni 20106 inlägg
Fixar inte att få in mina variabelvärden i MySql-databasen.
Syntaxen för att lägga in textsträngar är:
$sql = 'INSERT INTO `kontakt` (`fnamn`, `enamn`) VALUES (\'Olle\', \'Olsson\');';
mysql_query($sql,$con);
Det funkar ju men det skiter sig när jag vill lägga in värdena från mina variabler istället.
Borde ju vara så här:
$sql = 'INSERT INTO `kontakt` (`fnamn`, `enamn`) VALUES ($fnamn, $enamn);';
mysql_query($sql,$con);
Men icke...
Hur gör man??
/Christer
rhdfMedlem sedan okt. 2007447 inlägg
jag antar att dina variabler inte innehåller "fnuttarna" ?
således bör det bli nånting i stil med
$sql = "INSERT INTO `kontakt` (`fnamn`, `enamn`) VALUES (\' .$fnamn.\',\' .$enamn.\');";
metalboyMedlem sedan jan. 2005870 inlägg
För att variabelsubstitution ska fungera i en sträng måste strängen omges av citationstecken istället för apostrofer (sk heredoc-syntax fungerar också).
Ex:
$sql = "INSERT INTO `kontakt` (`fnamn`, `enamn`) VALUES ('$fnamn', '$enamn')";
Läs mer här:
http://se.php.net/manual/en/language.types.string.php
chrottoMedlem sedan juni 20106 inlägg
Lysande!
Funkar nu. Tackar ödmjukast!
/Christer
nitro2k01Medlem sedan aug. 20037 630 inlägg
Glöm inte att escape:a alla data med mysql_real_escape_string innan du stoppar in dem! Inga undantag! Inte ens om du verkligen tror att datat är ett nummer. (Om du inte har validerat värdet till ett nummer på serversidan, vill säga.)
$fnamnsafe = mysql_real_escape_string($fnamn);
$enamnsafe = mysql_real_escape_string($enamn);
$sql = "INSERT INTO `kontakt` (`fnamn`, `enamn`) VALUES ('$fnamnsafe', '$enamnsafe')";