2013-06-24 6 views
0

어제,이 코드는 완벽하게 작동하고 스크립트의 다른 부분을 변경했으며 현재는 그렇지 않습니다. 아무도 나에게 여기에서 틀리게 보이는 무엇이 말할 수 있는가? (전자 메일은 무작위 테스트 일뿐입니다.)MySQL 쿼리 오류

오류 : SQL 구문에 오류가 있습니다. 근처 'WHERE email='[email protected]' '를 사용할 수있는 권리 구문에 대한 MySQL 서버 버전에 해당하는 설명서를 확인

$newemail = $formData["required"]["newemail"]; 

$email_check = mysql_query("SELECT * FROM $tbl_name WHERE email='$newemail'") or die(mysql_error()); 
$do_email_check = mysql_num_rows($email_check); 
+1

$ tbl_name이 (가) 설정 되었습니까? –

+1

오류는'$ tbl_name' 변수에 문제가 있음을 나타냅니다. 그것은 어떻게 생겼습니까? SQL 엔진에 실제로 전달되는 내용을 보려면 * 변수 치환 후 문자열을 출력하십시오. –

+0

'$ tbl_name'은 어디에서나 정의되어 있습니까? –

답변

3

내 생각 엔 당신이 잊어 또는 코드의 부분을 주석이다 그 세트는 $tbl_name입니다.

SQL 엔진에 select * from where . . .이 표시되고 where에서 오류가 발생합니다.

+0

정확하게는 아니지만이 사실을 통해 나를 찾을 수있었습니다. 수표를 함수 내부로 옮기고 php의 적법한 범위가 더 이상 찾을 수 없게되었습니다. – Blab

+1

@ TheBlab. . . 문제에 대한 추측을하기로 결심했습니다. (대부분 "스크립트의 다른 부분을 변경했습니다 ...") 어떤 경우 든 SQL 문을 문자열에 넣는 법을 배워야하기 때문에 이전에이를 인쇄 할 수 있습니다 이것을 실행하면 나중에이 오류가 당신에게 귀중한 교훈을 주었고 고통을 감당할 가치가 있음을 알 수있다. –

0

나는 $tbl_name으로 뭔가를해야한다고 생각합니다. $tbl_name을 되풀이하여 당신이 얻는 것을보십시오.

+0

mysql_query()가 false를 반환하기 때문에'$ email_check'가'false'라고 말할 수있다. '오류가 발생했습니다. 당신은'$ tbl_name'을 덤프하는 것이라고 생각합니다. – MrCode

+0

@MrCode 제게 정정 해 주셔서 감사합니다 :) –