我正在尝试从表中的行查询数据,将数据存储到数组中,然后从数组中回显出某个值。这是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
?
答案 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>';
}
}
?>