Это ссылка, чтобы не быть отмеченной как дубликат
Проблема с heredoc и PHP
Я не смог решить проблему, следуя решениям разработчиков. Внутри этого фрагмента кода обязательно должна быть синтаксическая ошибка, но я не могу найти, где она находится, по сути, приведенный ниже оператор Heredoc не работает и препятствует работе всего кода, кроме того, если я пытаюсь запустить код на моем веб-сервере у меня ошибка сервера 500. Я изменил свой вопрос, выполнив ответы на него.
Перед редактированием этого вопроса я попытался решить проблему самостоятельно, но я дошел до тупика. Я только что добавил отчет об ошибках в начале кода, даже если неправильно повторять старые вопросы.
<?php error_reporting(E_ALL); ini_set('display_errors', 1);?> <?php // take in the id of a director and return his/her full name function get_director($director_id) { global $db; $query = 'SELECT people_fullname FROM people WHERE people_id = ' . $director_id; $result = mysql_query($query, $db) or die(mysql_error($db)); $row = mysql_fetch_assoc($result); extract($row); return $people_fullname; } // take in the id of a lead actor and return his/her full name function get_leadactor($leadactor_id) { global $db; $query = 'SELECT people_fullname FROM people WHERE people_id = ' . $leadactor_id; $result = mysql_query($query, $db) or die(mysql_error($db)); $row = mysql_fetch_assoc($result); extract($row); return $people_fullname; } // take in the id of a movie type and return the meaningful textual // description function get_movietype($type_id) { global $db; $query = 'SELECT movietype_label FROM movietype WHERE movietype_id = ' . $type_id; $result = mysql_query($query, $db) or die(mysql_error($db)); $row = mysql_fetch_assoc($result); extract($row); return $movietype_label; } //connect to MySQL $db = mysql_connect('localhost', 'root', 'xxxxxxxx') or die ('Unable to connect. Check your connection parameters.'); // make sure you're using the right database mysql_select_db('moviesite', $db) or die(mysql_error($db)); // retrieve information $query = 'SELECT movie_name, movie_year, movie_director, movie_leadactor, movie_type FROM movie ORDER BY movie_name ASC, movie_year DESC'; $result = mysql_query($query, $db) or die(mysql_error($db)); // determine number of rows in returned result $num_movies = mysql_num_rows($result); $table = <<<ENDHTML <div style="text-align: center;"> <h2>Movie Review Database</h2> <table border="1" cellpadding="2" cellspacing="2" style="width: 70%; margin-left: auto; margin-right: auto;"> <tr> <th>Movie Title</th> <th>Year of Release</th> <th>Movie Director</th> <th>Movie Lead Actor</th> <th>Movie Type</th> </tr> ENDHTML; /* loop through the results */ while ($row = mysql_fetch_assoc($result)) { extract($row); $director = get_director($movie_director); $leadactor = get_leadactor($movie_leadactor); $movietype = get_movietype($movie_type); $table .= <<<ENDHTML <tr> <td>$movie_name</td> <td>$movie_year</td> <td>$director</td> <td>$leadactor</td> <td>$movietype</td> </tr> ENDHTML; } $table.= <<<ENDHTML </table> <p>$num_movies Movies</p> </div> ENDHTML; echo $table; ?> > this is the error that I receive ENDHTML; /* loop through the results */ while ( = mysql_fetch_assoc(Resource id #3)) { extract(); = get_director(); = get_leadactor(); = get_movietype(); .= << ENDHTML; }