【问题标题】:Get other variable using session使用会话获取其他变量
【发布时间】:2017-10-03 04:25:15
【问题描述】:

我有表 user 喜欢:

  user
=======
username
password
var

登录后,我想像这样使用用户名会话打印变量var,但还没有成功。

<?php

if(empty($_SESSION)){
    header("Location: logout.php");
}
$username=$_SESSION['username'];

$link = mysql_connect("localhost", "root", "");
mysql_select_db("vhts", $link);

$var = mysql_query("SELECT var FROM user where username='$username'", $link);
echo $var;

?>

如何纠正?

【问题讨论】:

  • 您提到了一个表,但没有显示与 MySQL 相关的代码,请发布其他代码,并准确解释您面临的问题。投票结束的范围太广。
  • 只需在您的页面上使用SELECT 查询:SELECT var FROM user WHERE username = $username;
  • @MattClark 我已经更新了代码。谢谢
  • @SatishSaini 我尝试了代码但没有成功
  • 您从哪里获取数据?在echo $var; 之前添加:$row=mysql_fetch_array($var); echo $row['var']; 。这应该可以帮助你。另外,请尝试使用 mysqliPDO 代替 Mysql 函数,因为现在不推荐使用 mysql 函数。

标签: php mysql sql session


【解决方案1】:

mysql_query() 返回布尔值或resource。当返回值为资源时,可以通过调用 mysql_fetch_assoc() 之类的函数来获取这些值。

$result = mysql_query("SELECT var FROM user where username='$username'", $link);
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$var = $row['var'];   
echo $var;    
?>

重要提示:

警告

此扩展在 PHP 5.5.0 中被弃用,并在 PHP 7.0.0 中被删除。相反,应该使用MySQLiPDO_MySQL 扩展名。另请参阅MySQL: choosing an API 指南和related FAQ 了解更多信息。此功能的替代方案包括:

(来源:http://php.net/mysql_fetch_assoc


所以你真的应该考虑使用mysqli_query()mysqli_fetch_array()等。

【讨论】:

    【解决方案2】:
    "SELECT var FROM user where username='$username'"
    

    应该可以工作..,并且 var 可能会在

    $var['var']
    

    别忘了添加 fetch 功能

    $var = mysql_fetch_assoc($var); // highly recommended to use mysqli / PDO
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-03
    • 2017-05-21
    • 2012-02-02
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多