基本的SQL输出问题

时间:2010-11-06 22:47:35

标签: php sql html

这可能是世界上最基本的问题,但我无法弄明白。

我想在我的表格中显示用户的名字和电子邮件地址。我尝试过使用循环,但考虑到我只选择一行,这完全没有价值。我知道这是一个琐碎的问题,但我找不到/记得怎么做。谢谢!

$db = mysql_connect("server","un", "pw"); 
    mysql_select_db("db", $db); 

$sql = "SELECT FirstName, EmailAddress" 
    . " FROM Student" 
    . " WHERE StudentID  = '$student' ";
$result = mysql_query($sql, $db); 
$num = mysql_num_rows($result);
 $userinfo = mysql_result($result,$userinfo);

$ student是一个会话变量。我想在页面的某个地方回显名字和电子邮件地址,但我无法相信这会给我带来多大的痛苦。再次感谢!

2 个答案:

答案 0 :(得分:2)

mysql_fetch_assoc()将结果行转换为数组。

$result = mysql_query($sql, $db);
$user = mysql_fetch_assoc($result);
echo $user['FirstName'];
echo $user['EmailAddress'];

答案 1 :(得分:1)

看起来拼写地址错误,所以它可能与您的真实列名不匹配。更重要的是,您的代码似乎容易受到SQL注入攻击。您确实需要使用预准备语句(请参阅How to create a secure mysql prepared statement in php?)或转义。

要获取一行,必须使用mysql_fetch函数之一(例如mysql_fetch_ array,mysql_fetch_ object等)。

相关问题