Использование переменной сеанса в операторе SQL WHERE - PullRequest
1 голос
/ 26 января 2012

У меня есть страница с несколькими формами, использующая разные страницы .php для обработки и обновления моей базы данных. На первой странице моя переменная сеанса хранится на второй, я пытаюсь вызвать переменную сеанса для использования в моем операторе where.

$sql="UPDATE Persons
    SET newsletter='$_POST[newsletter]',howiPad='$_POST[howiPad]',invite='$_POST[invite]', messageforfriends='$_POST[messageforfriends]', possible_points='$_POST[possible_points]'
    WHERE `usremail` = '$_SESSION['usremail']'";

Ответы [ 3 ]

4 голосов
/ 26 января 2012
$sql="UPDATE Persons
    SET newsletter='$_POST[newsletter]',howiPad='$_POST[howiPad]',invite='$_POST[invite]', messageforfriends='$_POST[messageforfriends]', possible_points='$_POST[possible_points]'
    WHERE `usremail` = '$_SESSION[usremail]'";
1 голос
/ 26 января 2012

Как и любой массив в операторе mysql, никогда не делайте так, чтобы он был в кавычках, одинарных или двойных.

По сути, просто скопируйте свой массив записей в where и измените на session и usremail

0 голосов
/ 10 декабря 2016

Ex.

$statement = $db_connection->prepare("SELECT id,
       usrname,
       color,
       chattext,
       chattime
FROM chat
WHERE id > ?
  AND usrname ='$_SESSION[usrname]'
  AND chattime >= DATE_SUB(NOW(), INTERVAL 20 HOUR)");
$statement->bind_param( 'i', $id);
...