2014-11-19 2 views
0

좋습니다. 코드입니다.PHP 구문 분석 오류가 있습니까?

<?php 

define('DB_HOST', 'localhost'); 
define('DB_NAME', '*'); 
define('DB_USERNAME', '*'); 
define('DB_PASSWORD', '*') 

$odb = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USERNAME, DB_PASSWORD); 
?> 

그리고 그것은 결과 :

구문 분석 오류 : 구문 오류, 예기치 T_VARIABLE을 *에 선 8

내가 거기에 아무 잘못 표시되지 않습니다에.

그래서 이것은 불평하고있는 라인입니다.

$odb = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USERNAME, DB_PASSWORD); 

도움 말?

+1

'define ('DB_PASSWORD', '*') ' – Cheery

+0

그냥 관련이없는 답변 ... 항상'sprintf '를 사용하여 문자열을 구성하십시오. 여기서'새로운 PDO '안에있는 문자열을'sprintf'라고합니다. 그냥 좋은 연습 :) –

답변

1

세미콜론 ';'을 잊어 버렸습니다. in define('DB_PASSWORD', '*');

<?php 

define('DB_HOST', 'localhost'); 
define('DB_NAME', '*'); 
define('DB_USERNAME', '*'); 
define('DB_PASSWORD', '*'); 

$odb = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USERNAME, DB_PASSWORD); 
?> 

건배.

0

당신은 ; 여기 세미콜론

define('DB_PASSWORD', '*') 

그것은해야을 놓치고

define('DB_PASSWORD', '*'); 
0

질문 해결하지만 메신저는 몇 가지 팁을 떠나 : 당신은 아마 시도해야

을 읽고 컴파일러 오류를 조금 더 잘 이해합니다.

컴파일러에서 구문 오류가 변수 6에 있음을 알리는 경우 신중하게 읽는 것이 좋습니다.

특정 기호를 "예상"하거나 "비현실적"으로 만났다고 말하면 표시된 줄을주의 깊게 읽어야 함을 의미합니다.

"예기치 않은"기호는 PHP가이 기호가 현재 여기서 무엇을하는지 알지 못한다는 의미입니다. 닫힌 대괄호로 묶은 ")"(함수 호출) 뒤에 $ 기호 (T_VARIABLE)는 의미가 없습니다.

기본적으로 ";" 누락.

컴파일러는 종종 프로그래밍 언어 자체를 배우는 문제로이 메시지를 배우고 이해하는 문제를 직접 직접 알려줍니다.