dousi4900 2014-12-30 20:35
浏览 61

注意:未定义的属性:stdClass :: $ media_type

I am currently setting up my portfolio, but I keep getting the following error:

Notice: Undefined property: stdClass::$media_type in /Applications/MAMP/htdocs/year_3/Site_2/portfolio/project.php on line 54

Notice: Undefined property: stdClass::$media_type in /Applications/MAMP/htdocs/year_3/Site_2/portfolio/project.php on line 59 1. Dot

Notice: Undefined property: stdClass::$media_type in /Applications/MAMP/htdocs/year_3/Site_2/portfolio/project.php on line 54

Notice: Undefined property: stdClass::$media_type in /Applications/MAMP/htdocs/year_3/Site_2/portfolio/project.php on line 59

  1. Circle

this is the code:

$id = $_GET['id'];
if (!is_numeric($id)) {
    //die('DONT BE A JERK');
    header('Location: index.php');
}

require_once('includes/config.php');
require_once('includes/lib.php');

$db = dbConnect();

$query = "
SELECT projects.* FROM projects
WHERE projects.id = '$id'
";

$project = dbSelect($db, $query);
$project = $project[0];


$query = "
    SELECT media.* FROM media
    WHERE media.project_id = '$project->id'
    ORDER BY media.rank ASC
";

$media = dbSelect($db, $query);

$project->media = $media;

dbClose($db);

?>

<!DOCTYPE html>
<html>
<head>
<title>Missy Skae</title>
<link rel="stylesheet" href="style.css">
</head>
<body>

<h1><?=$project->title;?></h1>
<h2><?=$project->date;?></h2>
<p><?=$project->description;?></p>

<?
foreach($project->media as $media) {

    ?>
    <div class="media">

the line after this is line 54.

        <?
        if ($media->media_type == 'image') {
            ?>
                <img src="media/<?=$media->filename;?>">
                <p><?=$media->imagenumber;?></p>
            <?

        } elseif ($media->media_type == 'video') {
            // video
        }
        ?>

        <p><?=$media->imagedescription;?></p>
    </div>
    <?
}
?>

</body>
</html>

Anyone have any ideas?

  • 写回答

2条回答 默认 最新

  • duanjiao4763 2014-12-30 20:37
    关注

    Wrong:

    $query = "
        SELECT media.* FROM media
        WHERE media.project_id = '$project->id'
        ORDER BY media.rank ASC
    ";
    

    Right:

    $query = "
        SELECT media.* FROM media
        WHERE media.project_id = '" . $project->id . "'
        ORDER BY media.rank ASC
    ";
    

    More:

    $project = dbSelect($db, $query);
    $project = $project[0];
    

    Make sure you get the correct values here. It seems to me, there is no result or, result returned in a different form (array).

    header('Location: index.php');
    

    The script goes on executing if you don't use exit; after it.

    Short open tags should not be used, they are off by default on most servers:

    <?=$media->imagedescription;?>
    
    <?php echo $media->imagedescription; ?>
    

    Have a look into PDO and prepared statements. Way cleaner and easier to maintain :-)

    评论

报告相同问题?

悬赏问题

  • ¥15 对于知识的学以致用的解释
  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败