1

我有一个积分系统,就像人们登录代码时显示数据库中的用户数据一样。但我注意到了一个问题。每个人都得到了相同的号码。我在表中被称为管理员,并且我在它的顶部。但是当我将我的点数更改为 20 时,每个人都得到 20。不在数据库中他们得到 20,但仅在页面上显示 20。脚本是:

<?php
require("dbc.php");  
$id = 1; //id or primary key of the user whose point you want to display   
$query = mysql_query("select * from users where id = $id") or die(mysql_error());

while($array = mysql_fetch_array ($query)) {
    echo "{$array['points']}<br>";
}
?>
4

3 回答 3

2

您的问题是您为 id 变量使用了固定数字。您需要做的是使用$id= $_POST['variable_name']或 `$id=$_GET['variable_name']

例如,如果您从文本框等 html 输入中获取播放器。你的 html 将是

<input type="text" name="fname">

你的身份证是

$id= $_POST['fname'];

$_GET[] 有点难以解释。观看此视频https://www.youtube.com/watch?v=RZPLTiNlx8c了解有关 $_GET[] 的信息

于 2012-12-08T22:11:30.700 回答
1

尝试为其他用户打印 $id 的值(如使用 var_dump 函数)以检查它是否正确。

如果这不能解决问题,请尝试遍历您的代码,并在每个地方确认每个变量都具有您认为的值。

于 2012-12-08T21:14:06.500 回答
1

这条线$id = 1; //id or primary key of the user whose point you want to display没有意义。PRIMARY KEY唯一标识数据库表中的 每条记录。每个表只能有一个主键,并且必须包含唯一值,但不能包含 NULL 值。为了快速查询性能,每个表都应该有一个主键。

这意味着每个用户都应该有自己的唯一 ID。

以下代码使用不推荐使用的 mysql_ 扩展,您应该使用 MySQLi 或 PDO_MySQL

<?php
require("dbc.php");  
$id =  ;// $_POST or $_GET
$query = mysql_query("select * from users where id = $id") or die(mysql_error());
$row = mysql_fetch_row($query);
echo $row[0]; //Assuming 0 is id 

?>
于 2012-12-08T22:33:17.627 回答