我正在为我的网站做一个登录页面,我现在正在测试,这段代码是在登录之后。问题是,我想从我的数据库中检索一些信息,但代码不起作用(它不回显任何内容)。我检查了 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/