我正试图展示这个人拥有的学分。 但它不断提出“资源ID#6”,现在我已经打了谷歌和stackoverflow,我看到人们为其他人修复它,但他们真的没有解释太多......? 数据库名称是test,成员在用户中,用户有一个名为credits
的表<?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;
?>
答案 0 :(得分:0)
为什么要两次执行相同的确切查询?
在这里,您可以将结果导入数组,您可以使用它来查看值:
$res=mysql_query("SELECT * FROM users WHERE user_id=".$_SESSION['user']);
$userRow=mysql_fetch_array($res);
但是接下来你希望完全相同的操作返回一个字符串而不是一个资源:
$credits=mysql_query("SELECT * FROM users WHERE user_id=".$_SESSION['user']);
echo $credits;
该查询返回资源,而不是字符串。因此,echo
语句尽力表示该资源,这正是您所看到的。
只需从$userRow
获取值,因为您已经查询了数据库:
echo $userRow['credits']; // or whatever the column is called
注意:您应该确实考虑从mysql_*
操作升级到mysqli_*
或PDO,并利用预准备语句和查询参数。 mysql_*
已弃用,不再受支持。您可能在查询中有一个潜在的SQL注入漏洞,您应该使用查询参数(取决于$_SESSION['user']
获取其值的位置)。