如何在PHP中将行存储到数组中并回显数组的某个值?

时间:2016-04-01 04:04:16

标签: php html mysql arrays

我正在尝试从表中的行查询数据,将数据存储到数组中,然后从数组中回显出某个值。这是PHP:

$receiveuserdata = mysqli_query($connection, "SELECT * FROM s_users LIMIT 0,1");

$userdata = array();
$index = 0;
while ($row = mysqli_fetch_assoc($receiveuserdata)) {
    $userdata[$index] = $row;
    $index++;
};

我已尝试使用与此问题相关的其他帖子寻求帮助,但大多数都已过时。这是我尝试回显数组中的值:

 <h3>Username: <?php echo $userdata[0]; ?></h3>

我是否错误地使用$receiveuserdata

2 个答案:

答案 0 :(得分:0)

$ row包含整个MySQL表行。这意味着$userdata[0]也包含一行(作为关联数组)。使用echo不适用于数组。相反,如果您想查看该行的内容或直接访问所需的值,则可以使用var_dump$userdata[0]['username'](如果您有列名username

答案 1 :(得分:0)

检索单行

您习惯于限制0,1 - 因此它只会检索一行

<?php
$receiveuserdata = mysqli_query($connection, "SELECT * FROM s_users LIMIT 0,1");
if (mysqli_num_rows($receiveuserdata) > 0)
{
    $row = mysqli_fetch_assoc($receiveuserdata);
    $username = $row['username'];
    echo '<h3>Username: '.$username.'</h3>';
}
?>

要检索多行

<?php
$receiveuserdata = mysqli_query($connection, "SELECT * FROM s_users");
if (mysqli_num_rows($receiveuserdata) > 0)
{
while ($row = mysqli_fetch_assoc($receiveuserdata)) {
    $username = $row['username'];
    echo '<h3>Username: '.$username.'</h3>';
}
}
?>