webForumDet fria alternativet

Spara till db med sessions - problem

5 svar · 321 visningar · startad av Skogiz

SkogizMedlem sedan feb. 200395 inlägg
#1

Jag har hämtat data från ett formulär och skapat lite SESSIONS-variabler.

Dock när jag ska ha in det i databasen får jag fel (Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING)

$query = "INSERT INTO matches (seasonid, ligaid, oponentid, round, homeaway, publik)
            VALUES('$_SESSION['season2']', '$_SESSION['serie']', '$_SESSION['oponent']', '$_SESSION['oponent']', '$_SESSION['homeaway']', '$_SESSION['publik']')";

Har jag fel i koden?

Tack på förhand

CafarooMedlem sedan jan. 20096 inlägg
#2

Problemet är nog att du deklarerar sessions variablerna direkt.. Gör om sessions variablerna till vanliga variabler innan du skickar dom till databasen det är mycket lättare att jobba med dom sen också då..

$seasonid = $_SESSION['season2'];
$ligaid = '$_SESSION['serie'];
$oponentid = $_SESSION['oponent'];
$round = $_SESSION['oponent'];
$homeaway = $_SESSION['homeaway'];
$publik = $_SESSION['publik'];

$query = "INSERT INTO matches (seasonid, ligaid, oponentid, round, homeaway, publik)
VALUES('$seasonid', '$ligaid', '$oponentid', '$round', '$homeaway', '$publik')";

Lycka till!

SkogizMedlem sedan feb. 200395 inlägg
#3

men jag hämtade dom tidigare genom att

$publik = $_POST["publik"];
och sedan
$_SESSIONS['publik'] = $publik;

Ska jag behöva skicka tillbaka dom igen? Känns som väldigt mycket variabeltilldelning fram och tillbaka... går det inte att göra smidigare? :q

CafarooMedlem sedan jan. 20096 inlägg
#4

Varför lägger du ens in dom i sessionen?
Det som är osmidigt är att jobba direkt mot sessionen tycker jag iallafall.. Men som svar på din fråga ja det måste du nog :)

SkogizMedlem sedan feb. 200395 inlägg
#5

Anledningen var att jag ville ha en sida som visar upp vad jag är på gång att lägga in i databasen, då fick jag tips enligt annan tråd här i forumet att köra med SESSIONS

Men det är kanske bättre att skicka all formulär-data till ett nytt formulär med INPUT TYPE=Hidden?

SPiNMedlem sedan mars 20007 896 inlägg
#6

Nej, det är smidigare att använda sessioner när man ska lagra data utanför en roundtrip.

Problemet ligger i när du försöker konkatenera SQL-strängen. Lösning:

$query = "INSERT INTO matches (seasonid, ligaid, oponentid, round, homeaway, publik)
            VALUES('{$_SESSION[season2]}', '{$_SESSION[serie]}', ...

Alternativt:

$query = "INSERT INTO matches (seasonid, ligaid, oponentid, round, homeaway, publik)
            VALUES('" . $_SESSION['season2'] . "', '" . $_SESSION['serie'] . "', ...
127 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)