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

使用MySQL和PHP在Edge浏览器播放视频遇加载错误求助

问题解决:PHP+MySQL展示视频失败的修复方案

错误原因分析

  • 错误1:视频资源返回text/html类型,说明请求的路径无效,服务器返回了错误页面(比如404)而非视频文件。
  • 错误2:video.ogg是错误的MIME类型,正确的OGG视频MIME类型应为video/ogg。
  • 错误3:由于路径错误和MIME类型错误,所有视频源都无法加载,导致媒体播放暂停。

代码修正要点

  1. 修复视频路径:将数据库中存储的视频文件名拼接到src路径后,确保指向正确的视频文件。
  2. 修正MIME类型:把video.ogg改为标准的video/ogg。
  3. 调整标签结构:将文件名放在src属性内,而非source标签外,保证HTML结构正确。

修正后的完整代码

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbName = "movie review";

// 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbName);

if($conn->connect_error){
  die("连接失败: " . $conn->connect_error);
}
?>

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>视频展示</title>
</head>
<body>
<?php
// 查询语句
$search =  'SELECT id, name FROM movie_video ORDER BY id';

// 执行查询
$result = mysqli_query($conn, $search);

// 无结果时提示
if(!$result){
    echo "数据库中未找到视频!";
    exit();
}

// 显示查询到的记录数
echo "<p>共查询到 " . mysqli_num_rows($result) . " 个视频。</p>";

// 循环输出视频
while($record = mysqli_fetch_assoc($result)){
    $videoName = $record['name'];
    echo "<video controls>
            <source src='../videos/{$videoName}' type='video/mp4'>
            <source src='../videos/{$videoName}' type='video/ogg'>
            您的浏览器不支持视频播放。
          </video><br>";
}
?>
</body>
</html>

额外注意事项

  • 确认../videos/目录存在,且视频文件权限为可读取(通常设置为755)。
  • 检查数据库中存储的name字段是否包含完整文件名(如movie.mp4、movie.ogg),确保每个视频的MP4和OGG版本都存在于对应目录中。
  • 如果仍出现Content-Type错误,可在服务器端配置正确的MIME类型(比如Apache的.htaccess添加AddType video/mp4 .mp4和AddType video/ogg .ogg)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 05:00:28