PHP Неопределенное смещение: 0

У меня проблемы с этой частью

    ";

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

}

этого кода

<?php

require_once('includes/config.php');

enter code here

require_once('includes/lib.php');

$db = dbConnect();

$query = "SELECT projects.* FROM projects ORDER BY rank ASC";
$projects = dbSelect($db, $query);

foreach($projects as $project) {
$query = "SELECT media.* FROM media
WHERE media.project_id = '$project->id'
AND media.primary = '1'
";

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

}

dbClose($db);

?>

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

<?

foreach($projects as $project) {
?>
<div class="project">
<h2><?=$project->date;?></h2>
<h1><a href="project.php?id=<?=$project->id;?>"><?=$project->title;?></a></h1>
<div class="primary-image">
<a href="project.php?id=<?=$project->id;?>"><img src="media/<?=$project->primary_image->filename;?>"></a>
</div>
<h2><?=$project->tag1;?></h2>
<h1><?=$project->description;?></h1>
</div>
<?
}

?>

</body>
</html>

сообщение об ошибке: Неопределенное смещение: 0

У кого-нибудь есть идеи? Спасибо!

0

Решение

В уведомлении должен быть указан номер строки. Можете ли вы предоставить его?

В вашем запросе вы должны обновить эту строку:

    WHERE media.project_id = '$project->id'

читать

    WHERE media.project_id = '{$project->id}'

Я полагаю, что это приведет к ошибке.

Трудно точно определить ошибку, не зная, по какой линии это происходит или что в других включенных файлах. Это более чем вероятно на этой линии ..

$project->primary_image = $primary_image[0];

Вы можете проверить это, используя var_dump для $ primary_image, например

$primary_image = dbSelect($db, $query);
var_dump($primary_image);
$project->primary_image = $primary_image[0];
0

Другие решения

Просто проверьте, существует ли это смещение,

$project->primary_image = isset($primary_image[0]) ? $primary_image[0] : NULL; // or whatever instead of NULL, you can choose any default value, eg. 'no_image.png'
0

По вопросам рекламы [email protected]