You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel页面无限加载无法显示MySQL数据库表该如何解决?

问题修复步骤

1. 修复数据库配置端口错误(超时的核心原因)

你当前config/database.php中MySQL端口填写的是8080,但从你提供的XAMPP面板截图可以看到,8080是Apache的服务端口,MySQL默认运行端口为3306。端口配置错误会导致Laravel持续尝试连接数据库无法成功,最终触发PHP执行超时错误。
修改config/database.php里的mysql连接配置:

// 将原有配置里的'port' => '8080'替换为下面的内容
'port' => '3306',

修改完成后执行php artisan config:clear清除配置缓存,避免旧配置依然生效。

2. 修复视图中表名字段读取错误

DB::select('SHOW TABLES')查询返回的集合中,每个对象的属性名为Tables_in_<你的数据库名>,也就是这里对应的是Tables_in_listenonce,不是你代码里写的group_name,直接读取不存在的属性会后续会抛出错误。
你可以修改路由代码提前处理返回值,降低视图层的适配成本:

Route::get('/listen', function () {
    $tables = DB::select('SHOW TABLES');
    // 处理为仅包含表名的数组
    $groups = array_map(function($table) {
        return current((array)$table);
    }, $tables);
    return view('listen', ['groups' => $groups]);
});

对应修改视图的循环输出代码即可:

@foreach($groups as $group) 
    <div>
        {{ $group }}
    </div>
@endforeach

可选验证步骤

如果修改后仍有异常,可以先在路由中直接输出验证结果,快速定位问题:

Route::get('/listen', function () {
    try {
        DB::connection()->getPdo();
        $groups = DB::select('SHOW TABLES');
        dd($groups);
    } catch (\Exception $e) {
        die("数据库连接失败: " . $e->getMessage());
    }
});

访问/listen如果能正常输出表列表,说明数据库连接正常,再调整视图代码即可。

内容的提问来源于stack exchange,提问作者BlackdestinyXX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 09:39:05