首页 > 解决方案 > 我的 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 代码退出,但我还没有弄清楚。

标签: 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>每一行的标签。


推荐阅读