首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >资源id #6作为输出?

问资源id #6作为输出?
EN

Stack Overflow用户
提问于 2016-01-02 16:02:49
回答 1查看 1.6K关注 0票数 1

我正试着展示这个人所拥有的学分。但是它不断地想出"Resource #6",现在我一直在使用google和堆栈溢出技术,我看到人们在为其他人修复它,但是他们并没有真正地解释.?数据库名是test,成员在用户中,用户有一个名为credits的表。

代码语言:javascript
复制
<?php
session_start();
include_once 'dbconnect.php';

if(!isset($_SESSION['user']))
{
 header("Location: index.php");
}
$res=mysql_query("SELECT * FROM users WHERE user_id=".$_SESSION['user']);
$userRow=mysql_fetch_array($res);

// Trying to display the ammouth of credits from this particular member...

$credits=mysql_query("SELECT * FROM users WHERE user_id=".$_SESSION['user']);
echo $credits;
?>
EN

回答 1

Stack Overflow用户

发布于 2016-01-02 16:09:16

为什么要执行相同的查询两次?

在这里,将结果输入到数组中,可以使用该数组查看值:

代码语言:javascript
复制
$res=mysql_query("SELECT * FROM users WHERE user_id=".$_SESSION['user']);
$userRow=mysql_fetch_array($res);

但是在这里,您希望完全相同的操作返回一个字符串,而不是一个资源:

代码语言:javascript
复制
$credits=mysql_query("SELECT * FROM users WHERE user_id=".$_SESSION['user']);
echo $credits;

该查询返回资源,而不是字符串。因此,echo语句最好地表示该资源,这正是您所看到的。

只需从$userRow获取值,因为您已经查询了数据库:

代码语言:javascript
复制
echo $userRow['credits']; // or whatever the column is called

注意:您应该考虑从mysql_*操作升级到mysqli_*或PDO,并利用准备好的语句和查询参数。不支持mysql_*,不再支持它。而且您可能会在查询中使用查询参数(取决于$_SESSION['user']从何处获取其值),您可能会在查询中存在一个潜在的SQL注入漏洞。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34567810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档