在SQL WHERE语句中使用会话变量

时间:2012-01-26 18:40:11

标签: php mysql session variables where

我有一个包含多个表单的页面,使用不同的.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 个答案:

答案 0 :(得分: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]'";

答案 1 :(得分:1)

就像mysql语句中的任何数组一样,请确保它不会出现在引号中,单引号或双引号。

基本上只需将你的帖子数组复制到where并更改为session和usremail

答案 2 :(得分:0)

实施例。

$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);