我的功能不起作用

时间:2014-03-26 22:59:23

标签: php youtube explode

我想在我的数据库中存储youtube视频ID和名称,但在管理页面上,我只想在表单中发送视频链接。

我尝试了这个,但它不起作用。我只是在学习如何使用一个函数。你能帮帮我吗?

if (isset($_POST['sendit'])){
$y_video  = $_POST['video'];
function video_add($y_video){

        $video=explode("=", $y_video);
        $code = explode("&",$video[1]);
        $video_feed = file_get_contents("http://gdata.youtube.com/feeds/api/videos?v=2&q=".$video[1]."&max-results=1&fields=entry(title)&prettyprint=true");
        $video_obj = simplexml_load_string($video_feed);
        $video_str = $video_obj->entry->title;
        $sql="INSERT INTO youtube ('y_vid','y_nev')
        VALUES('".$code[0]."','".mysql_real_escape_string($video_str)."')";
        mysql_query($sql);
            header("Location:video-list.php");
}
}

1 个答案:

答案 0 :(得分:1)

您已创建该功能,但您没有调用它。您应该编辑代码看起来像这样:

<?
  function video_add($y_video){

        $video=explode("=", $y_video);
        $code = explode("&",$video[1]);
        $video_feed = file_get_contents("http://gdata.youtube.com/feeds/api/videos?v=2&q=".$video[1]."&max-results=1&fields=entry(title)&prettyprint=true");
        $video_obj = simplexml_load_string($video_feed);
        $video_str = $video_obj->entry->title;
        $sql="INSERT INTO youtube ('y_vid','y_nev')
        VALUES('".$code[0]."','".mysql_real_escape_string($video_str)."')";
        mysql_query($sql);
            header("Location:video-list.php");
  }

  if (isset($_POST['sendit'])) video_add($_POST['video']);
?>

所以基本上,你首先要创建这个函数(你可以将它放在一个其他文件中,如果你需要在多个地方,你将在后面包含它),然后用你收到的数据调用它。

此外,您缺少连接数据(或者您可能故意省略这些数据)。

同样不要使用mysql_ *,因为它们已被弃用。使用mysqli_ *或PDO 。请点击http://php.net/mysql_query

了解更多信息