【发布时间】:2013-06-05 14:55:57
【问题描述】:
$category = array(
"Alpha",
"Beta",
"Gamma",
"Delta",
"Epsilon",
"Zeta"
);
for ($count = 0; $count < 5; $count++) {
$query = "SELECT * FROM random_walk WHERE category = '$category[$count]'";
$result = $mysqli->query($query) or die($mysqli->error . __LINE__);
$row_cnt = $result->num_rows;
if ($result->num_rows > 0) {
$row_counter = 0;
while ($row = $result->fetch_assoc()) {
$category[$count][$row_counter] = $row['image_filename'];
$row_counter++;
echo $category[$count][$row_counter];
}
}
}
我正在尝试将 MySQLi $row 数据存储到 PHP 二维数组 $category[][]。
我已经初始化了一个名为$category 的数组,其中包含我希望使用的类别名称。我现在想从我的数据库中检索记录并将记录字段image_file(例如poly_interpolated.jpg)的内容存储到第二维并循环直到数据库中没有该类别的更多图像文件。
但是,当我回显数组时,我只看到一个字符,这根本不是我所期望的,因为 $row['image_file'] 返回一个长度为多个字符的文件名。
我原以为$category[$count][$row_counter] = $row['image_filename']; 会存储文件的名称,但似乎我在这个假设中还有一段路要走。
有人可以看看上面的代码并指出正确的方向吗?
【问题讨论】:
-
你在重用变量
$category,这是故意的吗?我觉得这会导致很多错误,因为您已经使用了循环的确切名称。 -
这是故意的,因为数组名称与数据库中的类别字段相关(尽管这并不是说我不能更改数组名称,如果根据您的经验您认为它可能会导致错误)。
标签: php mysql multidimensional-array