Php 从数据库中为用户调用信息

Php 从数据库中为用户调用信息,php,mysql,Php,Mysql,我试图只调用已登录的用户信息。到目前为止还没有任何进展,我不确定我做错了什么 <?php session_start(); // Connects to your Database mysql_connect("localhost", "megan", "megan") or die(mysql_error()); mysql_select_db("megan") or die(mysql_error()); $id = $_SESSION['id_user']; //Get

我试图只调用已登录的用户信息。到目前为止还没有任何进展,我不确定我做错了什么

<?php
session_start();
// Connects to your Database 
 mysql_connect("localhost", "megan", "megan") or die(mysql_error()); 
 mysql_select_db("megan") or die(mysql_error()); 

$id = $_SESSION['id_user']; //Get user's ID 
Print $id; //Test
$result = mysql_query("SELECT * FROM user WHERE id_user='" . $id . "'") 
or die(mysql_error());
$row = mysql_fetch_assoc($result); 

echo "Your user name is: <br>"; 
echo $row['username']; 

试试这句话。我认为您的查询字符串不正确,您不是使用用户id的值进行查询,而是使用字符串“$id”

$result = mysql_query("SELECT * FROM user WHERE id_user='{$id}'");

我会这样做:

$result = mysql_query("SELECT * FROM user WHERE id_user=" . $id);
如果$id不是数字而是字符串

$result = mysql_query("SELECT * FROM user WHERE id_user='" . $id . "'");

当然,您也可以在行的末尾创建一个or die(mysql_error())。

不鼓励使用此扩展。相反,应该使用MySQLi或PDO_MySQL扩展

$sql = "SELECT `username` FROM user WHERE id_user = '$id' ";

$result = mysql_query($sql);

list($username) = mysql_fetch_row($result);

var_dump( $username ); // for test

不要使用mysql_*语句。更喜欢使用PDO甚至mysqli语句。@user1491556打印$id返回什么?session_start();必须是php代码的第一行。我同意@tsabz-php.net所说的
mysql.*
已被弃用,并将最终停止使用。还有,这是一个令人尖叫的mysql注入。请确保
mysql\u real\u escape string
PDO\u mysql
MySQLi\u*
等同物。您是否检查了web服务器日志文件中的错误?仍然没有出现任何错误,只是空白屏幕。您是否将session\u start()的位置更改为begining of file?尝试将所有sql语句更改为大写,也可以在$row['username']内反字段;(因此它将是$row['USERNAME'];)。不要触摸变量$IDM当我将用户更改为大写时,我收到此错误“Table'megan.user'不存在”,当我将其更改为小写时,我仍然没有收到任何信息mmm…,您可以将表名更改为user以外的名称吗?MySQL已经有了一个“用户”表。。。也许…你试过用mysql_fetch_array()而不是mysql_fetch_assoc()吗?我把它放进去了,但是返回的都是null。用你的id在phpmyadmin查询中尝试sql代码并检查结果。我复制了上面的选择并返回:mysql返回了一个空的结果集(即零行)。不工作。但是当我把一个特定的数字放在7中时,它就工作了,所以你的表中没有这个id的任何结果。问题不在于你的代码。如果我将SELECT
username
FROM user WHERE id_user='$id'放在表中,我什么也得不到,请用表中确定的行id检查代码。如果我将SELECT
username
FROM user,其中id\u user=7,它将返回信息