从数据库检索信息(1 个字段/对象;无数组)
我正在为我的网站做一种登录页面,我现在正在测试它,这个代码是在登录之后。问题是,我想从数据库中检索一些信息,但代码不起作用(它不回显任何内容)。我检查了 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>";
}
//------------------------------------//
?>
I'm doing a sort of login page for my website which I'm just testing right now, and this code is after the login. The thing is, I want to retrieve some information from my database, but the code doesn't work (it doesn't echo anything). I checked that the MySQL query is fine and it works, but there is no result in the PHP.
Please I would be happy for any help and answers,
//---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>";
}
//------------------------------------//
?>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
将
session_start()
放在顶部或在使用$_SESSION
变量之前还有一件事: 函数
session_is_registered
自 PHP 5.3.0 起已弃用。强烈建议不要依赖此功能。更好的方法
put
session_start()
at the top or just before you use$_SESSION
variableone more thing : The function
session_is_registered
has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.better way
var_dump($data);
- 说什么?是的,但是
session_start
在文件开头;并尝试(通过php):
如果你改变< code>mysql_fetch_field 到
mysql_fetch_row
您将能够通过以下方式访问数据:$data[0];
var_dump($data);
- What is says?And YES, but
session_start
at begining of file;And try(via php):
And if you change
mysql_fetch_field
tomysql_fetch_row
you would be able to reach your data over:$data[0];
基本上在 $data 中有一个返回的对象,你可以像这样回显它
$数据->名称
Basically there is an object returned in $data and you can echo it like
$data->name