2012-04-22 2 views
0

일반적으로 T_String 오류는 추가 인용문이 있거나 최소한 생각했습니다. 오늘 나는이 오류예기치 않은 T_STRING을 찾을 수 없습니다.

Parse error: syntax error, unexpected T_STRING in /var/www/html/registerBackend.php on line 118 

을 가지고 여기에 도움이된다면 118 + 119 여기

$query = "INSERT INTO User (Name,Email,Password,Port) VALUES ('$name', '$email','$password','$port')"; 
mysql_query($query) or die('Error, insert query failed'); 

좀 더 코드 라인의 코드입니다

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql'); 

$dbname ='hidden'; 
mysql_select_db($dbname); 

//Check if Username has been used before 
$query = "SELECT * FROM User where Name='$name'"; 
$result=mysql_query($query) or die('Error, insert query failed'); 
$countName=mysql_num_rows($result); 

//Check if email has been used before 
$query = "SELECT * FROM User where Email='$email'"; 
$result=mysql_query($query) or die('Error, insert query failed'); 
$countEmail=mysql_num_rows($result); 

if($countName < 1 && $countEmail < 1){ 

//Assign their port number 
$query = "SELECT * FROM login; 
$countPort=mysql_num_rows($result); 
$port = 20000 + $countPort; 


$query = "INSERT INTO User (Name,Email,Password,Port) VALUES ('$name', '$email','$password','$port')"; 
mysql_query($query) or die('Error, insert query failed'); 


$query = "SELECT username, password FROM login WHERE username = '$username' AND password = '$password'"; 
$result = mysql_query($query); 

print "<center><div id=newAREA>You have been signed up!<br>"; 
while($row = mysql_fetch_array($result, MYSQL_ASSOC)){ 
    echo "Minecraft Username:{$row['Name']} <br>" . 
     "Email:{$row['Email']} <br>" . 
     "Password:{$row['Password']} <br>". 
     "Port:{$row['Port']} <br>"; 

} 
} elseif ($countName > 1) { 
print "Someone has already used this Minecraft IGN! E-mail [email protected] to prove it is yours!"; 
} elseif ($countEmail > 1) { 
print "Email has been used before!"; 
} 
+0

이러한 변수 중 하나에 견적이 있습니까? – Blake

+0

파일을 확인한 후 견적을 누락하지 않았는지 확인하십시오. –

+0

SQL 인젝션 취약점이 있습니다. – SLaks

답변

0

해야한다 :

$query = "SELECT * FROM login; 

당신이 필요합니다 :

$query = "SELECT * FROM login"; 

하지만 분명히 이러한 쿼리를 제공해야합니다.

+0

Blake 정말 고마워! 그게 정확히 문제 였어! –

+0

어떤 편집기를 사용합니까? 코드 강조 표시는 많은 두통을 줄일 수 있습니다. 나는 개인적으로 [Notepad ++] (http://www.notepad-plus-plus.org)를 즐긴다. – Blake

+0

그리고 제공된 경우 응답으로 무언가를 표시하는 것을 잊지 마십시오 (위로 투표가 도움이됩니다) : – Blake

2

시도

$query = "INSERT INTO User (Name,Email,Password,Port) VALUES ('" . mysql_real_escape_string($name) . "', '" . mysql_real_escape_string($email) . "','" . mysql_real_escape_string($password) . "','" . mysql_real_escape_string($port) . "')"; 
mysql_query($query) or die('Error, insert query failed'); 


업데이트

이 줄

$query = "SELECT * FROM login; 

라인에

$query = "SELECT * FROM login"; 
+0

여전히 동일한 오류가 발생합니다. 구문 분석 오류 :/var/www/html/registerBackend에서 예기치 않은 T_STRING 구문 오류가 발생합니다.PHP는 118 줄에,하지만 주사 보호에 도움을 주셔서 감사합니다 : D –

+0

@ JeremySayers - 업데이트 후 내 대답을 업데이 트되었습니다. – stealthyninja

1
//Assign their port number 
$query = "SELECT * FROM login; 
$countPort=mysql_num_rows($result); 
$port = 20000 + $countPort; 

login 이후에 견적이 누락되었습니다.

$query = "SELECT * FROM login"; 

칭찬 해주세요!

관련 문제