PHP mysqli 空数组
PHP mysqli empty array
我对我的代码有疑问。当我尝试用我获取的数组填充 html 时,我只得到空格而不是实际结果。谁能告诉我为什么?
<?php
require_once("php/loader.inc.php");
include("php/header.php");
include("php/userpanel.php");
$gebruiker = $_SESSION['user'];
?>
<div class="large-8 columns">
<div class="row">
<?php
$query = "
SELECT
items.naam,
items.prijs,
items.image_url
FROM inventory
JOIN items
ON items.id = inventory.item_id
WHERE
gebruiker_id = ?
";
$stmt = $db->prepare($query);
$stmt-> bind_param('i', $gebruiker->id);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc())
{
$user_items[] = $row;
echo '<div class="large-3 small-4 columns">
<img src="'. $user_items['image_url'] .'">
<div class="panel">
<h6>'. $user_items['naam'] .'</h6>
<h6 class="subheader">'. $user_items['prijs'] .'</h6>
</div>
</div>';
}
?>
顺便说一下,当我尝试 print_r($user_items);
它给了我预期的结果。
提前致谢!
我想你想改变这个:
$user_items[] = $row;
对此:
$user_items = $row;
否则你的索引是一维的'deeper'
举个例子:
$row = array("image_url" => "xy");
在这一行之后:
$user_items[] = $row;
您无法通过以下方式访问它:
echo $user_items["image_url"]; //Wrong
你必须这样做:
echo $user_items[0]["image_url"]; //works
你不需要这一行$user_items[] = $row;
你可以直接使用$row
while ($row = $result->fetch_assoc())
{
echo '<div class="large-3 small-4 columns">
<img src="'. $row['image_url'] .'">
<div class="panel">
<h6>'. $row['naam'] .'</h6>
<h6 class="subheader">'. $row['prijs'] .'</h6>
</div>
</div>';
}
我对我的代码有疑问。当我尝试用我获取的数组填充 html 时,我只得到空格而不是实际结果。谁能告诉我为什么?
<?php
require_once("php/loader.inc.php");
include("php/header.php");
include("php/userpanel.php");
$gebruiker = $_SESSION['user'];
?>
<div class="large-8 columns">
<div class="row">
<?php
$query = "
SELECT
items.naam,
items.prijs,
items.image_url
FROM inventory
JOIN items
ON items.id = inventory.item_id
WHERE
gebruiker_id = ?
";
$stmt = $db->prepare($query);
$stmt-> bind_param('i', $gebruiker->id);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc())
{
$user_items[] = $row;
echo '<div class="large-3 small-4 columns">
<img src="'. $user_items['image_url'] .'">
<div class="panel">
<h6>'. $user_items['naam'] .'</h6>
<h6 class="subheader">'. $user_items['prijs'] .'</h6>
</div>
</div>';
}
?>
顺便说一下,当我尝试 print_r($user_items);
它给了我预期的结果。
提前致谢!
我想你想改变这个:
$user_items[] = $row;
对此:
$user_items = $row;
否则你的索引是一维的'deeper'
举个例子:
$row = array("image_url" => "xy");
在这一行之后:
$user_items[] = $row;
您无法通过以下方式访问它:
echo $user_items["image_url"]; //Wrong
你必须这样做:
echo $user_items[0]["image_url"]; //works
你不需要这一行$user_items[] = $row;
你可以直接使用$row
while ($row = $result->fetch_assoc())
{
echo '<div class="large-3 small-4 columns">
<img src="'. $row['image_url'] .'">
<div class="panel">
<h6>'. $row['naam'] .'</h6>
<h6 class="subheader">'. $row['prijs'] .'</h6>
</div>
</div>';
}