未定义的变量:id PHP

时间:2013-11-25 08:46:02

标签: php

每个人都能解释或告诉我为什么我会得到这个未定义的变量:id。

功能

public function getByEmbedId($id, $lang=null){
    $id = mysql_real_escape_string($id);
    $embed = array();
    $e = mysql_query("SELECT * FROM movie_embeds WHERE id='$id'") or die(mysql_error());
    if (mysql_num_rows($e)>0){
        $movie = $this->formatEmbedData(mysql_fetch_assoc($e), $lang);
    }
    return $embed;
}

并调用该函数。

<?php

$embed = $movie->getByEmbedId($id,$language);  
if (empty($embed)){
    $embed = '';
} else { 
    $smarty->assign("embed",$embed);
}

?>

如果有人可以帮助我,那将非常感激

3 个答案:

答案 0 :(得分:2)

在致电您的功能之前,检查您的$id是否已设置。这样做

<?php
if(isset($id)) // Make use of the isset construct here
{
$embed = $movie->getByEmbedId($id,$language);  
if (empty($embed)){
    $embed = '';
} else { 
    $smarty->assign("embed",$embed);
}
}
?>

答案 1 :(得分:0)

当您致电$embed = $movie->getByEmbedId($id,$language);时,之前定义了$id$language个变量吗?

答案 2 :(得分:0)

在函数中使用它之前,你应该声明变量$ id。