我是php \ mysql的新手,我发布了查询我的数据库并制定了按照列“点”排列的前10位用户列表。
错误:非法字符串偏移'用户名' 非法字符串偏移'点' 非法字符串偏移'用户名' 非法字符串偏移'点' 未定义的偏移量:2 未定义的偏移量:2 未定义的偏移量:3 未定义的偏移量:3 积分:c c积分1分积分
我当前的mysql查询:
$result = mysql_query("SELECT username, points FROM users ORDER BY points DESC LIMIT 10")
or die(mysql_error());
$rows=mysql_fetch_array($result);
$top10 = "Points: ";
for($i=0;$i<count($rows);$i++)
{
$top10 .= $rows[$i]['points']." ".$rows[$i]['username']." points";
}
echo $top10;
答案 0 :(得分:1)
$result = mysql_query("SELECT username, points FROM users ORDER BY points DESC LIMIT 10")
or die(mysql_error());
$top10 = "Points: ";
while ($row = mysql_fetch_array($result)) {
$top10 .= $row[0]." ".$row[1]." points";
}
echo $top10;
答案 1 :(得分:0)
$row = mysql_fetch_array($result, MYSQL_NUM);
在此行中,您将数据数组的第一行分配给$row
。
您可以通过函数print_r
检查$ row的结构。
试试print_r($row)
。
要访问该行中的列,请使用db表的列名作为索引。像$row['ColumnName']
;如果使用"echo $row['column name']"
打印,则会获得已提取的列的值。
答案 2 :(得分:0)
这将是您的答案
while($row=mysql_fetch_array($result,MYSQL_ASSOC))
{
echo $row['username'];
echo $row['points'];
}
使用fetch_all
$rows=mysql_fetch_all($result);
for($i=0;$i<count($rows);$i++)
{
echo $rows[$i]['username'];
echo $rows[$i]['points'];
}