HEREDOC 구문 오류와 관련된 문제를 해결할 수 없습니다.

리카르도

중복으로 표시되지 않도록하기위한 링크입니다.

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; }

펑크 포티 니너

닫는 식별자 앞에는 ENDHTML;각각에 대해 2 개의 공백이 명확하게 포함 된 공백이 없어야 합니다.

  • 그들을 제거하십시오.

오류보고는 해당 구문 오류를 포착했을 것입니다.

heredoc에서 읽으십시오 :

경고 닫는 식별자가있는 줄에는 세미콜론 (;)을 제외한 다른 문자가 포함되어서는 안됩니다. 이는 특히 식별자가 들여 쓰기되지 않을 수 있으며 세미콜론 앞뒤에 공백이나 탭이 없을 수 있음을 의미합니다. 닫는 식별자 앞의 첫 번째 문자는 로컬 운영 체제에서 정의한 줄 바꿈이어야한다는 사실을 인식하는 것도 중요합니다. 이는 Mac OS X를 포함한 UNIX 시스템에서 \ n입니다. 닫는 구분 기호 뒤에 줄 바꿈이 와야합니다.


각주 :

mysql_* 기능 지원 중단 알림 :

http://www.php.net/manual/en/intro.mysql.php

이 확장은 PHP 5.5.0에서 더 이상 사용되지 않으며 향후 제거 될 예정이므로 새 코드를 작성하는 데 권장되지 않습니다. 대신 mysqli 또는 PDO_MySQL 확장을 사용해야합니다. MySQL API 를 선택하는 동안 추가 도움말 MySQL API 개요참조하세요 .

이러한 기능을 사용하면 MySQL 데이터베이스 서버에 액세스 할 수 있습니다. MySQL에 대한 자세한 내용은» http://www.mysql.com/ 에서 찾을 수 있습니다 .

MySQL에 대한 문서는» http://dev.mysql.com/doc/ 에서 찾을 수 있습니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

end 키워드와 관련된이 Ruby 구문 오류를 어떻게 수정할 수 있습니까?

분류에서Dev

"문제를 해결할 수 없습니다. 손상된 패키지를 보관했습니다."라는 오류를 수정할 수 없습니다.

분류에서Dev

"자리 표시자를 해결할 수 없음"과 관련된 cron 문제

분류에서Dev

Supersonic SDK와 관련된이 오류를 어떻게 해결할 수 있습니까?

분류에서Dev

명령에서 오타와 관련된 GlusterFS 자습서 문제 이제 계속할 수 있습니다.

분류에서Dev

반응 네이티브 앱 android를 실행할 수 없습니다. react-native-wheel-picker와 관련된 메트로 번 들러에서 구문 오류가 발생했습니다.

분류에서Dev

Docker를 설치할 수 없습니다. 컬 관련 CA 문제

분류에서Dev

구문 오류를 이해할 수 없습니다.

분류에서Dev

E : 문제를 해결할 수 없습니다. 파손 된 패키지를 보관했습니다.

분류에서Dev

E : 문제를 해결할 수 없습니다. 파손 된 패키지를 보관했습니다.

분류에서Dev

Ruby on Rails 구문 오류-해결할 수없는 것 같습니다.

분류에서Dev

NFS 문제와 관련된 vagrant up 오류를 수정하는 방법은 무엇입니까?

분류에서Dev

누군가이 require.js 예제와 관련된 구문을 설명 할 수 있습니까?

분류에서Dev

JSON 구문 분석 오류 'JSON.parse : 문자열 리터럴의 잘못된 제어 문자'를 어떻게 해결할 수 있습니까?

분류에서Dev

함수와 관련된 switch 문 문제

분류에서Dev

삽입 함수 및 POST 함수와 관련된 SQL 구문 오류

분류에서Dev

이 문자열 문제를 해결할 수 없습니다.

분류에서Dev

이 구문 분석 문제를 이해할 수 없습니다.

분류에서Dev

오류 E 발생 : 문제를 수정할 수 없습니다. 손상된 패키지를 보관했습니다. Ruby on Rails를 설치하는 동안

분류에서Dev

행 수와 관련된 mysql_result의 구문 문제

분류에서Dev

Twilio : Twilio가 제공된 XML 문서를 구문 분석 할 수 없습니다.

분류에서Dev

WordPress 플러그인을 개발하는 동안 쿠키 사용과 관련하여 이미 전송 된 헤더 문제를 해결할 수 없습니까?

분류에서Dev

elrepo-kernel 관련 문제 : 패키지를 사용할 수 없습니다.

분류에서Dev

내 몽구스 쿼리에서 UnhandledPromiseRejectionWarning 문제를 해결할 수 없습니다.

분류에서Dev

그놈 터미널 및 소프트웨어 업데이터와 관련된이 오류를 어떻게 해결할 수 있습니까?

분류에서Dev

이 코드로 문제를 해결할 수 없습니다.

분류에서Dev

git에서 줄 끝 문제를 해결할 수 없습니다.

분류에서Dev

Android : 65k 문제를 해결할 수 없습니다.

분류에서Dev

코드로이 문제를 해결할 수 없습니다.

Related 관련 기사

  1. 1

    end 키워드와 관련된이 Ruby 구문 오류를 어떻게 수정할 수 있습니까?

  2. 2

    "문제를 해결할 수 없습니다. 손상된 패키지를 보관했습니다."라는 오류를 수정할 수 없습니다.

  3. 3

    "자리 표시자를 해결할 수 없음"과 관련된 cron 문제

  4. 4

    Supersonic SDK와 관련된이 오류를 어떻게 해결할 수 있습니까?

  5. 5

    명령에서 오타와 관련된 GlusterFS 자습서 문제 이제 계속할 수 있습니다.

  6. 6

    반응 네이티브 앱 android를 실행할 수 없습니다. react-native-wheel-picker와 관련된 메트로 번 들러에서 구문 오류가 발생했습니다.

  7. 7

    Docker를 설치할 수 없습니다. 컬 관련 CA 문제

  8. 8

    구문 오류를 이해할 수 없습니다.

  9. 9

    E : 문제를 해결할 수 없습니다. 파손 된 패키지를 보관했습니다.

  10. 10

    E : 문제를 해결할 수 없습니다. 파손 된 패키지를 보관했습니다.

  11. 11

    Ruby on Rails 구문 오류-해결할 수없는 것 같습니다.

  12. 12

    NFS 문제와 관련된 vagrant up 오류를 수정하는 방법은 무엇입니까?

  13. 13

    누군가이 require.js 예제와 관련된 구문을 설명 할 수 있습니까?

  14. 14

    JSON 구문 분석 오류 'JSON.parse : 문자열 리터럴의 잘못된 제어 문자'를 어떻게 해결할 수 있습니까?

  15. 15

    함수와 관련된 switch 문 문제

  16. 16

    삽입 함수 및 POST 함수와 관련된 SQL 구문 오류

  17. 17

    이 문자열 문제를 해결할 수 없습니다.

  18. 18

    이 구문 분석 문제를 이해할 수 없습니다.

  19. 19

    오류 E 발생 : 문제를 수정할 수 없습니다. 손상된 패키지를 보관했습니다. Ruby on Rails를 설치하는 동안

  20. 20

    행 수와 관련된 mysql_result의 구문 문제

  21. 21

    Twilio : Twilio가 제공된 XML 문서를 구문 분석 할 수 없습니다.

  22. 22

    WordPress 플러그인을 개발하는 동안 쿠키 사용과 관련하여 이미 전송 된 헤더 문제를 해결할 수 없습니까?

  23. 23

    elrepo-kernel 관련 문제 : 패키지를 사용할 수 없습니다.

  24. 24

    내 몽구스 쿼리에서 UnhandledPromiseRejectionWarning 문제를 해결할 수 없습니다.

  25. 25

    그놈 터미널 및 소프트웨어 업데이터와 관련된이 오류를 어떻게 해결할 수 있습니까?

  26. 26

    이 코드로 문제를 해결할 수 없습니다.

  27. 27

    git에서 줄 끝 문제를 해결할 수 없습니다.

  28. 28

    Android : 65k 문제를 해결할 수 없습니다.

  29. 29

    코드로이 문제를 해결할 수 없습니다.

뜨겁다태그

보관