PHP显示来自mysql的记录

时间:2013-08-29 08:24:04

标签: php mysql

我阻止了以下部分代码...

我有 config.php 页面,其中包含以下代码:

<?php
// Start the session (pretty important!)
session_start();

// Establish a link to the database
$dbLink = mysql_connect('localhost', 'USER', 'PASS');
if (!$dbLink) die('Can\'t establish a connection to the database: ' . mysql_error());

$dbSelected = mysql_select_db('DATABASE', $dbLink);
if (!$dbSelected) die ('We\'re connected, but can\'t use the table: ' . mysql_error());

$isUserLoggedIn = false;  
$query      = 'SELECT * FROM users WHERE session_id = "' . session_id() . '" LIMIT 1';  
$userResult     = mysql_query($query);  
if(mysql_num_rows($userResult) == 1){  
$_SESSION['user'] = mysql_fetch_assoc($userResult);  
$isUserLoggedIn = true;  
}else{  
if(basename($_SERVER['PHP_SELF']) != 'index.php'){  
    header('Location: index.php');  
    exit;  
}  
}  
?>

现在我有了另一个页面,其中包含以下代码:

<?php include_once('config.php'); ?>

<?php foreach($_SESSION['user'] as $key => $value){ ?>
<li><?php echo $key; ?> <strong><?php echo $value; ?></strong></li>
<?php } ?>

该代码向我显示存储在数据库中的所有信息,一个接一个......

我想在我的页面中单独显示信息,例如:

<?php echo $email; ?>

诸如此类..

有人可以解释我怎么做吗?

谢谢

3 个答案:

答案 0 :(得分:2)

您应该输出

<?php echo $_SESSION['user']['email'] ?>

假设'email'是 users 表中的列名。

答案 1 :(得分:2)

只需解决关联数组中的相关字段:

  <?php echo $value['email';?>

答案 2 :(得分:1)

在配置文件中使用它:

$_SESSION['user']['email'] = mysql_fetch_assoc($userResult); 

而不是

$_SESSION['user'] = mysql_fetch_assoc($userResult); 
你的代码中的

。您可以传递要从表中传递的任意数量的列。

在另一页中使用

foreach($_SESSION['user']['email'] as $key => $value) 

而不是

foreach($_SESSION['user'] as $key => $value) 

代码。

记住您在配置文件中传递的列数,应在此页面中调用所有这些列。