我已经阅读了所有问题,或者至少阅读了很多问题,而且我看到的是很多代码,对于像我这样的初学者来说并没有多大帮助......
也许,你会说我开始用登录,注册和所有这些东西开始制作我自己的网页,我也看到人们谈论放弃mysql的东西以避免sql注入和所有这些安全细节。
我需要知道的只是一个关于1个代码的错误。
$mail = mysql_query("select email from users where username = '".$_SESSION['username']."'");
这是我在登录会话中获取实际用户的电子邮件所做的变更。
当我将您的电子邮件设为<?php echo"$mail".; ?>
时,它会为我提供下一个详细信息:
您的电子邮件是资源ID#8。
为什么我会这样做?我已经在会话开始的地方制作了变量,但是我没有得到指定用户在该列中的内容。
很抱歉,如果我不能在这里发帖,但我真的没有看到有同样问题的人。我所看到的只是复杂的代码,我真的不太了解它。
我还是初学者,所以如果你们能帮助我,我将不胜感激。
答案 0 :(得分:2)
您必须获取查询的返回行:
$row = mysql_fetch_assoc($query/$mail);
您查询的所有列现在都在数组$row
中。
print "Email: " . $row['email'];
此示例假定查询仅返回一行。
如果您要查询多行,则每次需要新行时都必须调用mysql_fetch_assoc
:
while($row = mysql_fetch_assoc($query)) {
祝你好运。
答案 1 :(得分:2)
你必须使用mysql_fetch_ [array | object | assoc] PHP函数
$res = mysql_query("select email from users where username = '".$_SESSION['username']."'");
$field = mysql_fetch_assoc($res);
echo $field['email'];
答案 2 :(得分:0)
拿你需要的东西。
$user = strip_tags($_SESSION['username']);
$sql = sprintf("SELECT FROM email WHERE username='%s'", mysql_real_escape_string($user));
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
$mail = $row['email'];
echo "Your email is" .$mail;
strip_tags()方法将删除已提交条目中的所有HTML标记。
我喜欢在进行单行查询时使用sprintf()方法,因为粘贴和更改属性名称要快得多,然后担心使用正确的引用语法。
一旦您的查询处理完毕,您需要获取结果,然后您可以访问表中的数据。
我希望这会帮助你。