在SESSION变量中存储变量的正确方法是什么?我正在尝试这样做,但我认为我做得不对:
$_SESSION['queryID'] = $stID
// I want to use $stID even after the page is reloaded
if(isset($_GET['id']) && $_GET['id'] != '') {
$stID = $_GET['id'];
}
$query = "SELECT * FROM myTable WHERE State = " . $_SESSION['queryID']. ";";
使用这样的会话变量是否允许我在整个页面重新加载时保持$ stID的值?
由于
答案 0 :(得分:1)
1)缺少一个半圆:
$_SESSION['queryID'] = $stID; // <<< at the end of that line
2)我没有在您的文件顶部看到任何session_start来电。检查您是否已打开会话:
session_start();
答案 1 :(得分:1)
是的,你正在以正确的方式做到这一点。但在使用会话变量值之前,请使用isset()函数。
if (!isset($_SESSION['queryID'])) {
$_SESSION['queryID'] = 1;
}
同样要使用session,你需要在php脚本的最开头调用session_start()函数。
答案 2 :(得分:0)
Spotting reference是一个新手编程任务,兄弟。 PHP有一个庞大的文档,请阅读它。
$arr = array("lol"=>"roflmao");
$var =& $arr;
$var["lol"] = "roflmaobbq";
print_r($var);
/*
Array
(
[lol] => roflmaobbq
)
*/
print_r($arr);
/*
Array
(
[lol] => roflmaobbq
)
*/
来源:http://www.php.net/manual/en/language.references.spot.php
答案 3 :(得分:0)
//if u want to activate session use session_start()
//u didn't mention what is $stID
//if u want to store $stID
$_SESSION['queryID']="value"
//////////////
<?php
session_start();
// I want to use $stID even after the page is reloaded
if(isset($_GET['id']) && $_GET['id'] != '') {
$_SESSION['queryID']=$_GET['id']
}
$query = "SELECT * FROM myTable WHERE State = " . $_SESSION['queryID']. ";";
?>