非法字符串偏移未定义的偏移量:2

时间:2015-02-13 05:40:44

标签: php mysql

我是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;

3 个答案:

答案 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'];
}