2012-01-26 2 views
1

У меня есть страница с несколькими формами, использующая разные страницы .php для обработки и обновления моего db. На первой странице моя переменная сеанса хранится во второй. Я пытаюсь вспомнить переменную сеанса, которая будет использоваться в моей инструкции where.Использование переменной сеанса в операторе SQL 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']'"; 
+1

И в чем вопрос? – Icarus

+4

http://bobby-tables.com/ – Crontab

+0

это просто не обновление или что? – bowlerae

ответ

4
$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]'"; 
+0

Мне было трудно увидеть изменения, но я согласен, что это, вероятно, правильно. Удалите одинарные кавычки внутри скобок вокруг usremail, иначе у вас есть одинарные кавычки внутри одинарных кавычек. – bowlerae

+0

Достаточно просто спасибо, я полностью забыл об этом. – Mountaininja

1

Так же, как любой массив внутри туздо заявление, убедитесь, что никогда в случае в кавычках, одинарных или двойных.

В основном просто скопировать запись массива в где и перейти к сессии и usremail

0

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); 
+0

введите ваш код в правильном формате, чтобы его можно было прочитать! –

Смежные вопросы