Как вставить переменную $ _SESSION в базу данных? - PullRequest
0 голосов
/ 30 июня 2018

Я застрял в следующей проблеме: я хочу вставить $ _SESSION ['userID'] в мою базу данных, но она не работает. Он ничего не вставляет в базу данных с помощью следующего кода. Безопасность не важна в этом случае!

if(isset($_POST["joinKurs"])){
    echo("<script>console.log('userID: ".$_userID." and KursID: 1 saved in database');</script>");
    $_sql = "INSERT INTO userkurse (userID, kursID) VALUES('{$_SESSION['userID']}','1')";
    $_res = mysqli_query($link, $_sql);
}

Когда я заменяю {$ _SESSION ['userID']} на число, это работает.

    if(isset($_POST["joinKurs"])){
    echo("<script>console.log('userID: ".$_userID." and KursID: 1 saved in database');</script>");
    $_sql = "INSERT INTO userkurse (userID, kursID) VALUES('5','1')";
    $_res = mysqli_query($link, $_sql);
}

echo $ _sql показывает, что оператор SQL неверен.

INSERT INTO userkurse (userID, kursID) VALUES('3');','1')

Ответы [ 2 ]

0 голосов
/ 30 июня 2018

Вы можете попробовать сохранить идентификатор сеанса в переменной и посмотреть, работает ли он вот так:

$sid = $_SESSION['userID'];
$_sql = "insert into userkurse (userID,kursID) values ('$sid','1')";

Кроме того, попробуйте повторить запрос $ _SESSION ['userID'] и посмотреть, возвращает ли оно правильное значение.

Посмотрите на это:

$_SESSION['userID'] = 3;
$_sql = "INSERT INTO userkurse (userID, kursID) VALUES ('".$_SESSION['userID']."', '1')";
echo $_sql; // this returns : INSERT INTO userkurse (userID, kursID) VALUES ('3', '1') 
0 голосов
/ 30 июня 2018
  $_sql = "INSERT INTO userkurse (userID, kursID) VALUES('".$_SESSION['userID']."','1')";

Используйте это, так как ' при использовании этого не будет печатать значение внутри переменной, и строка sql, получающая create, недопустима.

т.е.

"INSERT INTO userkurse (userID, kursID) VALUES('{$_SESSION['userID']}','1')";

Что вам нужно, это

"INSERT INTO userkurse (userID, kursID) VALUES('12345646edj','1')";

Также используйте

echo $_sql

для проверки созданного оператора sql.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...