我正在开发一个简单的 LAMP 应用程序,用户可以使用 Paypal 为其帐户存入资金。我怀疑这是一个简单的问题,但花了相当长的时间进行实验却无济于事,希望得到任何想法:
<小时/>系统有一个用户管理系统,使用 session 可以正常工作,但我无法让它显示当前用户的信用。
但我一直在尝试以下方法:
$result = mysql_query("
SELECT *
FROM users
INNER JOIN account
ON account.UserID=account.UserID
ORDER BY account.accountID");while($_SESSION['Username'] = $row['Username'] ) { echo $row['Username']; echo $row['Credit']; }
我怀疑 while 语句无效,但我希望它回显用户名和信用,其中当前 session 用户名 = 存储在数据库中的用户名。
非常感谢您的浏览 - 非常感谢。
最佳答案
好吧,您的代码实际上有很多错误,您无法修复这些错误,因为您显然根本不了解 php。
但让我解释一下,以便您可以更好地理解自己做错了什么:
首先,你的mysql语句是错误的。
你为什么要加入一个单独的领域?您不会获得相应的用户 <-> 帐户行,因为用户从未真正加入。
除此之外,如果你想获取一行(你只需要一行,因为你只想回显一个用户的数据,获取更多只会占用更多资源),请告诉 mysql 这样做。一个简单的例子是“WHERE a =“b”LIMIT 1(仅选择a等于“b”的行,找到第一个后返回)。
现在,要从查询中读取某些内容,您需要获取相应的数据。
您可以使用 mysql_fetch_assoc/mysql_fetch_array/mysql_fetch_object 来做到这一点。
这看起来像这样:$data = mysql_fetch_array($query);
。
在这种情况下,您不需要使用 while()
循环,因为你只有一行。仅当您想要处理多于一行时才需要 while 循环。
尽管您不需要调用 echo 两次,但其余代码将是正确的。您可以简单地用“.”连接两个变量:echo $row['Username'].$row['Credit'];
。
如果您想在中间插入空格,请将其与另一个点连接:echo $row['Username']." ".$row['Credit'];
.
关于php - 如何根据用户的 session 显示用户的信用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4703230/