php - 我的 WHILE 循环显示来自 mysql 表的视频不起作用。我错过了什么?
问题描述
我正在做一个大型项目,遇到了一个问题,我只能从一个包含多个视频的表格中显示一个视频。第一个视频正确显示,但显示其他视频的 WHILE 循环没有产生任何结果,似乎完全结束了 PHP 代码。
我已经删除了我目前正在处理的代码的所有非必要元素,但注释除外。类似的代码在我的图像项目中的其他地方工作,但在显示视频时,此代码似乎不起作用。
<?php
include_once '../includes/db_connect.php'; // THIS CONNECTS THE DATABASE
include_once '../includes/functions.php'; // THIS PROVIDES VARIOUS FUNCTIONS
sec_session_start();
// THIS ENABLES ERROR MESSAGE DISPLAY //
ini_set('display_errors', 'On');
error_reporting(E_ALL | E_STRICT);
// THIS QUERIES ALL COLUMNS FROM THE 'VIDEOS' TABLE //
$query = mysqli_query($mysqli,"SELECT * FROM videos");
$result = mysqli_fetch_array($query);
// THESE TWO LINES WILL DISPLAY THE FIRST VIDEO IN THE TABLE //
echo "<br><br>" . $result['name'] . "<br>";
echo "<video src='" . $result['location'] . "' controls width='320px' height='200px' >";
while($result = mysqli_fetch_array($query))
{
// THIS SHOULD DISPLAY THE VAR_DUMP INFORMATION //
echo "<br> ******************** TROUBLESHOOTING INFORMATION ********************** <br>";
var_dump($result); // THIS IS JUST FOR DIAGNOSTIC INFO //
echo "<br> ***************************************************************************** <br>";
// THIS SHOULD DISPLAY THE REMAINING 2 VIDEOS IN THE TABLE AS ABOVE //
echo "<br><br>" . $result['name'] . "<br>";
echo "<video src='" . $result['location'] . "' controls width='320px' height='200px' >";
}
该代码应显示 3 个小视频图像,并带有播放每个视频的控件。第一个视频显示正确,因此数据库已连接,表正在正确读取,显示视频的命令都可以正常工作,但 WHILE 循环不起作用。我相信视频显示行中的某些内容导致 PHP 代码退出,但我还没有弄清楚。
解决方案
一个循环应显示所有视频。你不应该取两次。
/ THIS QUERIES ALL COLUMNS FROM THE 'VIDEOS' TABLE //
$query = mysqli_query($mysqli,"SELECT * FROM videos");
while($result = mysqli_fetch_array($query))
{
// THIS SHOULD DISPLAY ALL ROWS //
echo "<br><br>" . $result['name'] . "<br>";
echo "<video src='" . $result['location'] . "' controls width='320px' height='200px' ></video></br>";
}
此外,您需要关闭</video>
每一行的标签。
推荐阅读
- angular - Karma/Jasmine angular spyOn 总是返回存根类的值
- unity3d - 如何在 Unity 中尽可能优化地检测与表面的碰撞?
- visual-studio-code - 使用 esbuild 包含或排除 node_modules
- git - 如何在 Git 中不进行任何更改的情况下取消暂存文件?
- bash - 如何在 if 语句中使用 wc -l 整数输出
- php - WordPress帖子上传时间问题
- javascript - 两个文本区域并排,最大尺寸填充整个覆盖网站,就像在崇高的文本编辑器中一样,有两列布局?
- java - 如果错误生成一次,Java while 循环会继续执行 catch 块中的代码
- android - 编辑填写的表格并使用 Ionic/Angular 重新提交
- linux - 收到 27 Profiling timer expired 信号;分析时间警报 gprof