2

我有一个名为“视频”的 MySQL 数据库表,只有三列(字段?):ID、EmbedURL 和名称。

我想在实际 index.html 中使用 PHP(或其他任何东西)从数据库中获取随机 YouTube 视频并将 EmbedURL 放入 iFrame 中,以便当用户单击按钮(或刷新页面)时另一个来自数据库的随机视频加载。

我知道我可以使用 iframe 嵌入来做到这一点,如下所示:

<iframe width="560" height="315" src="http://www.youtube.com/embed/T0Jqdjbed40?playlist=SyoA4LXQco4,6l6PPvUhR4c" frameborder="0" allowfullscreen></iframe>

但我真的希望这个简单的 1 页网站有一个大的、有趣的、有吸引力的点击按钮,而 iframe 嵌入播放器只有这个无聊的“下一步”按钮。

以下是我到目前为止的代码。作为第一步,我只是想看看我是否可以让我的页面显示保存在数据库中的 EmbedURL,但它没有在页面上回显任何内容,而且我知道它没有解决 iframe 问题。

我进行了非常彻底的搜索(60 分钟),但无法将所有部分组合在一起。该查询在 phpMyAdmin中运行。

任何指针表示赞赏。

[编辑:我的虚拟主机正在运行 PHP v. 5.2.17]。

<?php
    mysql_connect("localhost", "admin", "xxxxxxx") or die(mysql_error());
    mysql_select_db ("my_db_name") or die(mysql_error());

    $select = mysql_query("SELECT EmbedURL FROM `Videos` ORDER BY RAND() LIMIT 1");
   while($row = mysql_fetch_assoc($select)) {
?>              

    <p><?php echo $row ['EmbedURL']  ?></p>
4

2 回答 2

0

看起来他们正在弃用 mysql 调用,并建议改用 mysqli 面向对象的调用。

http://us3.php.net/manual/en/function.mysql-connect.php

<?php
    $mysqli = new mysqli("host", "username", "password", "database name");
    if ($mysqli->connect_errno) {
        echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
    }
    echo $mysqli->host_info . "\n";

    $res = $mysqli->query("SELECT EmbedURL FROM `Videos` ORDER BY RAND() LIMIT 1");
    $row = $res->fetch_assoc();
?>            

<iframe width="560" height="315" src="<?php echo $row['EmbedURL']; ?>" frameborder="0" allowfullscreen></iframe>

<p><?php echo $row['EmbedURL'];?></p>

这在我运行 php 5.4 的本地服务器上对我有用。如果您使用的是低于 5.2.9 的 php 版本,构造函数的第一条评论建议使用一组不同的命令。

于 2012-10-12T22:47:35.277 回答
0

那是你正在运行的脚本吗?最后一行似乎缺少分号。

否则,它似乎很好。尽管正如 Marc B 所指出的,如果它只是一个,则不需要使用 while 循环。正如 Fanis 所说,您应该进行错误检查。

于 2012-10-12T21:26:54.107 回答