如何选择一个特定的字段并在mysql中显示它的输出

时间:2013-12-23 10:12:44

标签: php mysql

当我使用此代码时,我对此错误感到非常困惑: -

<?
$result = mysql_query("SELECT * FROM users");            
$array = mysql_fetch_assoc($result);
$last = $array['lastactivity'];
echo $last;
?>

它没有显示任何输出但是当我使用上面的WHERE username ='$ user'或任何其他条件如lastactivity!= 0时,它回显是该用户的最后一个活动,但我想显示所有'lastactivity '来自该表中存在的数据库用户的值。

更新: 我也有问题通过存储time()告诉哪些用户在线;在lastactivity中,我使用此代码: -

<?
$result = mysql_query("SELECT * FROM users");            
while($array = mysql_fetch_array($result)){
$last = $array['lastactivity'];
if(time() > $last+10)
{
echo $last;
}
}
?>

2 个答案:

答案 0 :(得分:2)

<?
$result = mysql_query("SELECT * FROM users");            
while($array = mysql_fetch_array($result)){
$last = $array['lastactivity'];
echo $last;
}
?>

答案 1 :(得分:0)

你需要在while循环中使用它,如下所示:

<?
    $result = mysql_query("SELECT * FROM users");

    while($array = mysql_fetch_assoc($result)) {
        $echo $array['lastactivity'];
    }
?>

更新:

请切换到MySQLi,因为现在不推荐使用MySQLi_ *函数。更好的方法是尝试使用这样的预处理语句:

<?
    $conn = new PDO("mysql:host=$dbhost; dbname=$dbname", $dbuser, $dbpass);

    $stmt = $conn->prepare("SELECT * FROM `users`");
    $stmt->execute();
    $result = $stmt->fetchAll(PDO::FETCH_ASSOC);

    foreach($result as $item) {
    echo $item['lastactivity'];
    }
?>