使用PHP中的会话数组解析SQL变量

时间:2017-06-08 13:57:34

标签: php arrays

尝试使用会话数组将多个sql变量从一个文件解析到另一个文件,但我不能。是什么东西在这里失踪了?

提前致谢。

file1.php

session_start();
while($row=mysql_fetch_array($result,MYSQL_BOTH)) {
    echo "<tr>";
    $id=$row['id'];
    $array[] = $id;
}
$_SESSION['id'] = $array;

file2.php

session_start();
foreach( $array as $id ) {
    echo $id;
}

2 个答案:

答案 0 :(得分:1)

在您的代码示例中,您没有从$array阅读$_SESSION

另请注意,除非您实施自己的session handler,否则$_SESSION会将所有内容存储为字符串。

答案 1 :(得分:1)

那是因为$array不是您的共享变量。 $_SESSION['id']是您需要阅读的内容。

示例(摘自:https://web.archive.org/web/20080707052007/http://www.phpriot.com/articles/intro-php-sessions/7):

page1.php中

<?php
// begin the session
session_start();

// create an array
$my_array=array('cat', 'dog', 'mouse', 'bird', 'crocodile', 'wombat', 'koala', 'kangaroo');

// put the array in a session variable
$_SESSION['animals']=$my_array;

// a little message to say we have done it
echo 'Putting array into a session variable';
?>

使page2.php

<?php
// begin the session
session_start();

// loop through the session array with foreach
foreach($_SESSION['animals'] as $key=>$value)
    {
    // and print out the values
    echo 'The value of $_SESSION['."'".$key."'".'] is '."'".$value."'".' <br />';
    }
?>

如评论中所述,page2.php上的echo是OTT。一种更简单的方法是: echo "Value of {$_SESSION[$key]} is $value<br />" ;(信用:RiggsFolly)