webForumDet fria alternativet

Fel på kod när jag ska göra en insert

PHP

26 svar · 851 visningar · startad av Emil W

Medlem sedan mars 2009512 inlägg
Frågan#1

någon som vet varför inte koden funkar ?

jag får detta felmeddelandet

felYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from,to,text) VALUES(3,3,hej)' at line 1

här kommer koden

<?php
$server = "***********";
$user = "*********";
$pass = "*************";

$con = mysql_connect($server,$user,$pass);
if(!$con)
{
die('fel' . mysql_error());
}
mysql_select_db("***************",$con);

$f = mysql_real_escape_string($_SESSION['sess_id']);
$t = mysql_real_escape_string($_POST['mottagare']);
$te = mysql_real_escape_string($_POST['text']);

$in = "INSERT INTO pm (from,to,text) VALUES($f,$t,$te)";

if(!mysql_query($in,$con))
{
die('fel' . mysql_error());
}
echo "Ditt pm har skickats";
?>
Medlem sedan aug. 20039 340 inlägg
#2
$in = "INSERT INTO pm (from,to,text) VALUES('$f','$t','$te')";
Medlem sedan mars 2009512 inlägg
#3

jag får fortfarande fel

jag får samma felmeddelande

felYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from,to,text) VALUES('3','3','dssdds')' at line 1

Medlem sedan aug. 20039 340 inlägg
#4

Så här kanske då?
Är du förresten säker på att fälten i databasen heter to, from och text?

<?php
$server = "***********";
$user = "*********";
$pass = "*************";

$con = mysql_connect($server,$user,$pass);
if(!$con)
{
die('fel' . mysql_error());
}
mysql_select_db("***************",$con);

$f = intval($_SESSION['sess_id']);
$t = intval($_POST['mottagare']);
$te = mysql_real_escape_string($_POST['text']);

$in = "INSERT INTO pm (from,to,text) VALUES($f,$t,'$te')";

if(!mysql_query($in,$con))
{
die('fel' . mysql_error());
}
echo "Ditt pm har skickats";
?>
Medlem sedan mars 2009512 inlägg
#5

nitro2k01 skrev:

Är du förresten säker på att fälten i databasen heter to, from och text?

Ja

Jag får fortfarande samma fel.

Medlem sedan aug. 20039 340 inlägg
#6

Kopiera in felmeddelandet hit.

Medlem sedan mars 2009512 inlägg
#7

felYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from,to,text) VALUE(5,3,'hej')' at line 1

Medlem sedan aug. 20039 340 inlägg
#8

Det ska stå VALUES inte VALUE

Medlem sedan mars 2009512 inlägg
#9

Jag provade VALUE men sen glömde jag byta tillbaka till VALUES men jag får samma felmeddelande som innan då jag har VALUES

Medlem sedan aug. 20039 340 inlägg
#10

Bara så att allt går rätt till, kan du kopiera HELA koden EXAKT som den ser ut JUST NU sedan refresha sidan DIREKT EFTRÅT utan att redigera koden och sedan kopiera felmeddelandet?

Medlem sedan juni 200032 967 inlägg
#11

FROM är ett reserverat ord. Byt namn på fältet.

Medlem sedan mars 2009512 inlägg
#12

så här ser min kod ut nu

jag får detta felmeddelandet nu

EDIT: nu får jag detta

Notice: Undefined variable: _SESSION in E:\wamp\www\skickamail.php on line 14
felYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'to,te) VALUES('0','5','Hej')' at line 1

<?php
$server = "*********";
$anv = "******";
$los = "***********";

$con = @mysql_connect($server,$anv,$los);
if(!$con)
{
die('fel' . mysql_error());
}
mysql_select_db("****************",$con);
$f =  intval($_SESSION['sess_id']);
$mottagare =  intval($_POST['mottagare']);
$text = mysql_real_escape_string($_POST['text']);

$insert = "INSERT INTO gastboken (f,to,text) VALUES('$f','$mottagare','$text')";

if(!mysql_query($insert,$con))
{
die('fel' . mysql_error());
}
echo "Tack för din kommentar";

mysql_close($con);
?>
Medlem sedan aug. 20039 340 inlägg
#13

Du har ett } för mycket på raden efter mysql_close.

Medlem sedan mars 2009512 inlägg
#14

jag märkte det nu, jag har nu fått felmeddelandet

Notice: Undefined variable: _SESSION in E:\wamp\www\skickamail.php on line 14
felYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'to,te) VALUES('0','5','Hej')' at line 1

Medlem sedan aug. 20039 340 inlägg
#15
$insert = "INSERT INTO gastboken (`f`,`to`,`text`) VALUES('$f','$mottagare','$text')";

Prova ^
Notera att tecknet kring fältnamnen är en accent, inte en apostrof. Kopiera och klistra om du är osäker.

Medlem sedan mars 2009512 inlägg
#16

menar du så här

$insert = "INSERT INTO gastboken (^f^,^to^,^te^) VALUES('$f','$mottagare','$text')";
Medlem sedan nov. 20014 054 inlägg
#17
$insert = "INSERT INTO gastboken (`f`,`to`,`text`) VALUES('$f','$mottagare','$text')";

Han menar nog detta!

och med "Prova ^" menar han nog med prova ovanstående..

Medlem sedan juni 20014 421 inlägg
#18

Glöm inte att lägga till session_start() innan du anropar $_SESSION, annars har du ingen session att arbeta med.

Medlem sedan mars 2009512 inlägg
#19

så här ser min hela kod ut

<?php
session_start();

if(!isset($_SESSION['sess_anvandarnamn']))
{
header("Location:demo-gastbok-admin.php");
exit;
}
?>
<?php
$server = "*********";
$anv = "***********";
$los = "**********";

$con = @mysql_connect($server,$anv,$los);
if(!$con)
{
die('fel' . mysql_error());
}
mysql_select_db("****************",$con);

$f = intval($_SESSION['sess_id']);
$mottagare = intval($_POST['mottagare']);
$text = mysql_real_escape_string($_POST['text']);

$in ="INSERT INTO pm ('f','to','te') VALUES('$f','$mottagare','$text')";

if (!mysql_query($in,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "1 record added";

mysql_close($con);

?>
Medlem sedan juni 20006 031 inlägg
#20

Finns $_SESSION['sess_id']?
Har du deklarerat den och gett den ett värde?

260 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)