数据不是从mysql获取的

时间:2013-05-18 09:29:27

标签: php mysql

对所有人来说,第一个好的aftrnoon,我知道这个网站不是微不足道的问题,但我不知道为什么数据不会来,我之前使用相同的代码进行数据获取,但它不起作用.. 任何想法,任何超出编码的建议都会被贬低。 让我们来看看我的代码..

$emel=$_SESSION['emailid'];

echo $select="SELECT * FROM red where email = '$emel'";
$query = mysql_query($select);
$ustous = mysql_fetch_row(query );
echo $ustous['name'] ;

我回显选择查询,这很好地显示结果:

SELECT * FROM red where email = 'tracymmt@makemytrip.com'

名称,地址等未显示且浏览器未显示任何错误... 救命! Thanx提前

6 个答案:

答案 0 :(得分:2)

如果您希望使用数组中的字段名称检索值,则应使用mysql_fetch_assoc()(请参阅:http://php.net/manual/en/function.mysql-fetch-assoc.php)。

这将是您的问题的固定代码:

$emel=$_SESSION['emailid'];

$select="SELECT * FROM red where email = '$emel'";
$query = mysql_query($select);
$ustous = mysql_fetch_assoc($query);
echo $ustous['name'] ;

顺便说一句,自PHP 5.5.0起,不推荐使用mysql_ *函数。您可能想要使用mysqli或PDO。

答案 1 :(得分:0)

$emel=$_SESSION['emailid'];

$select="SELECT * FROM red where email = '$emel'";
$query = mysql_query($select);

$ustous = mysql_fetch_row($query);
   $yourVar1 = $ustous[0];
   $yourVar2 = $ustous[1];
   $yourVar3 = $ustous[2];

答案 2 :(得分:0)

将你的$ query var纠正为:

$ustous = mysql_fetch_row($query ); 

使用mysql_fetch_assoc代替mysql_fetch_row或打印为$ustous[0]

fetch_assoc只返回一个可用作$ustous['name']

的关联数组
$emel=$_SESSION['emailid'];

echo $select="SELECT * FROM red where email = '$emel'";
$query = mysql_query($select);
$ustous = mysql_fetch_assoc($query );
echo $ustous['name'];
var_dump($ustous);

答案 3 :(得分:0)

使用此功能。

$emel=$_SESSION['emailid'];

echo $select="SELECT * FROM red where email = '$emel'";
$query = mysql_query($select);
$ustous = mysql_fetch_array($query);
echo $ustous['name'];

答案 4 :(得分:0)

你的原因:

mysql_fetch_row(query );

不起作用是因为它将结果作为枚举数组返回。就是这样:

Array ( [0] => 1 [1] => Name [2] => Email )

如果你print_r

您正试图在代码中调用关联数组的“名称”。所以,你会想要这样的东西:

Array ( [id] => 1 [Name] => Joe [email] => example@email.com )

因此,您可以使用mysql_fetch_assoc()mysql_fetch_array()并将MYSQL_ASSOC作为mysql_fetch_array()的第二个参数。

如果您只想获取用户名称,以下内容非常有用:

$emel=$_SESSION['emailid'];

$select="SELECT * FROM red WHERE email = '$emel'";
$query = mysql_query($select);
$ustous = mysql_fetch_assoc($query);
echo $ustous['name'] ;

如果您想要获取其他内容,例如用户登录记录,您可能还需要考虑通过循环运行它,以防数据库中有多个数据实例。

类似的东西:

$emel=$_SESSION['emailid'];

$select="SELECT * FROM logins WHERE email = '$emel'";
$query = mysql_query($select);

echo "Login History <br>";
while ($row = mysql_fetch_assoc($query)) {
   echo $row['loginDate'];  
}

这只是一个粗略的例子。

我绝对建议你看一下PDO。来自NetTuts +的Jeffery Way提供了a great tutorial关于如何使用PDO连接和从数据库中提取的信息。

答案 5 :(得分:0)

$ustous = mysql_fetch_row($query );