使用PHP从MySQL数据库显示YouTube视频?

3

我想在网页上显示YouTube视频,以下是我的代码,用于从存储在MySQL中的数据库中获取YouTube视频URL,然后使用while循环进行迭代以显示它。 但是,iframe内没有显示任何视频。

<?php
   if ($get_result != false) {
       while ($row = mysqli_fetch_array($get_result, MYSQLI_ASSOC)) {
?>
          <iframe width="560" height="315" src="<?php echo $row["url"]; ?>" frameborder="0" allowfullscreen></iframe>
<?php
       }
   }
?>

我也尝试在while循环内使用video标签,但它无法在视频播放器中显示YouTube视频。 请帮助我解决这个问题。


请展示您试图播放的数据库中任何YouTube视频URL值。 - Kiran Muralee
当我在Chrome中检查网页时,它显示我的输出为<iframe width="560" height="315" src="https://www.youtube.com/watch?v=txSGdNONUJE" frameborder="0" allowfullscreen></iframe> - suhas gawde
1
是的 @KiranMuralee,这对我有用,我只是优化了从数据库中获取的URL,如下所示 $new_url = str_replace("https://www.youtube.com/watch?v=","https://www.youtube.com//v/",$url); - suhas gawde
2个回答

2
您可以使用嵌入代码来使用Youtube,就像这样:

<iframe width="560" height="315" src="https://www.youtube.com/embed/<?php echo $row["url"]; ?>?autoplay=1&autohide=1&controls=1&showinfo=0&modestbranding=1&rel=0"></iframe>

0

问题出在您的URL值上。请将视频URL中的"watch?v="替换为"v/",然后再试一次。例如,我尝试使用以下URL:

<iframe width="560" height="315" 
src="https://www.youtube.com//v/txSGdNONUJE" frameborder="0" allowfullscreen></iframe> 

上述代码将正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接