这可能是世界上最基本的问题,但我无法弄明白。
我想在我的表格中显示用户的名字和电子邮件地址。我尝试过使用循环,但考虑到我只选择一行,这完全没有价值。我知道这是一个琐碎的问题,但我找不到/记得怎么做。谢谢!
$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是一个会话变量。我想在页面的某个地方回显名字和电子邮件地址,但我无法相信这会给我带来多大的痛苦。再次感谢!
答案 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等)。