我目前正在创建一个 MySQLi PHP 论坛,并且我在使用 MySQL LEFT JOIN 时遇到了一些问题,我正在尝试使用 set catid 让所有子论坛“加入”,
查询本身在 mysql 工作台中测试时工作正常,我收到了正确的列表。但是每当我尝试将结果放入数组中时,我都会得到 null
我当前的代码看起来像这样
$sql = 'SELECT `c`.`id`, `c`.`name`, `sc`.`id_sub`, `sc`.`name_sub`, `sc`.`catid`
FROM `forum_categories` AS `c`
LEFT JOIN `forum_subcategories` AS `sc`
ON `c`.`id` = `sc`.`catid`';
$stmt = $mysqli->query($sql);
$forum_categories = array();
while($row = $stmt->fetch_array(FETCH_ASSOC))
{
// define forum category
$forum_categories[$row['id']] = array(
'title' => $row['name'],
);
// add forums to category
$forum_categories[$row['id']]['forum_subcategories'][] = array(
'id' => $row['id_sub'],
'title' => $row['name_sub']
);
}
var_dump ($row->name);
但是 var_dump 只返回 null。
这就是 var_dump($stmt); 返回
object(mysqli_result)#2 (5) { ["current_field"]=> int(0) ["field_count"]=> int(5) ["lengths"]=> NULL ["num_rows"]=> int(10) ["type"]=> int(0) }