php - 从数据库中检索信息(1 个字段/对象;无数组)

标签 php mysql database userinfo

我正在为我的网站做一个登录页面,我现在正在测试,这段代码是在登录之后。问题是,我想从我的数据库中检索一些信息,但代码不起作用(它不回显任何内容)。我检查了 MySQL 查询是否正常并且有效,但 PHP 中没有结果。

我很乐意提供任何帮助和答案,

//---MySQL connection---//
$server = "localhost";
$user = "root";
$pass = "password";
$db = "users";
$table = "users";
mysql_connect($server,$user,$pass) or die(mysql_error());
mysql_select_db($db) or die(mysql_error());
//----------------------//

//---MySQL query, data selection---//
$sesuser = $_SESSION['username'];
$sql = "SELECT data FROM $table WHERE username='$sesuser'";
$predata = mysql_query($sql);
$data = mysql_fetch_field($predata);
//---------------------------------//

//---Check if session is registered---//
session_start();
if(session_is_registered("username")){
    echo "\n"."Hello ".$_SESSION["username"]."<br />";
    echo $data; //!!this line doesn't work
}
else{
    echo "<script>window.location=/login/</script>";
}
//------------------------------------//
?>

最佳答案

session_start() 放在顶部或就在您使用 $_SESSION 变量之前

还有一件事:函数session_is_registered自 PHP 5.3.0 起已弃用。强烈建议不要依赖此功能。

更好的方法

session_start();
//---MySQL query, data selection---//
$sesuser = mysql_real_escape_string($_SESSION['username']);
$sql = "SELECT data FROM $table WHERE username='$sesuser'";
$predata = mysql_query($sql);
$data = mysql_fetch_field($predata);
//---------------------------------//

//---Check if session is registered---//

if(isset($_SESSION['username'])){
    echo "\n"."Hello ".htmlentities($_SESSION["username"])."<br />";
    echo $data; 
}
else{
    header("Location :"login.php");
    exit();
}

关于php - 从数据库中检索信息(1 个字段/对象;无数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7634091/

相关文章:

database - 有人使用NoSQL数据库存储病历吗?

php - Yii2 Controller 中的下拉列表值

php - cURL 错误 - Laravel + Mailgun 的 SSL 证书

php - Laravel、Dropzone.js、Apache 文件上传超时

mysql - 从两个表中获取具有后备值的列

mysql - 在 MySQL 中获取上一行

php - SQL 查询 - 获取行退出其他表 laravel 上的一些值

mysql - 复制表行,但使用另一个值

PHP MySQL - 循环返回数字直到找到结果

php - 编写控制面板脚本修改php文件