$id = $_SESSION['user_id'];
$query1 = mysql_query("SELECT `user_name` FROM `users` WHERE `id` LIKE '$id'");
echo $query1;
if (mysql_num_rows($query1) == 0)
die ("User not found");
else {
$username = mysql_result($query1);
echo $username ;
}
有人能告诉我为什么我会继续获取资源 ID ,然后'阵列'回应了?!我已经尝试了fetch assoc和MySQL fetch,但遗憾的是:(我已阅读了手册,但仍然没有快乐!
答案 0 :(得分:1)
您是否尝试在“user_name”列中显示该值?如果是这样,您需要一个如下所示的循环:
while($row = mysql_fetch_array($query1)) {
$username = $row['user_name'];
echo "user_name = " . $username;
}
将其放入“其他”块中,替换当前内部的内容。你这样做的方式,你的$ username变量是获取Result Set对象,而不是它里面的数据。
答案 1 :(得分:0)
您可以使用mysql_result,但必须将行号指定为第二个参数
mysql_result($query1, 0);
http://www.php.net/manual/en/function.mysql-result.php
或者你可以......
$id = $_SESSION['user_id'];
$query1 = mysql_query("SELECT `user_name` FROM `users` WHERE `id` LIKE '$id'");
if (mysql_num_rows($query1)==0){
die ("User not found");
}
while($row = mysql_fetch_array($query1)){
echo $row['user_name'];
}
顺便说一下,你不必使用LIKE,而是=会很好。