2013-06-06 5 views
-2

somene이 SQL 문이 실행되지 않는 이유를 알려주십시오.이 SQL 문이 작동하지 않는 이유는 무엇입니까?

내가 얻는 오류는 'SQL 구문에 오류가 있습니다. MySQL 서버 버전에 해당하는 매뉴얼에서 올바른 구문을 확인하십시오. 'Sood'at line 1 '근처에서 사용하십시오.

테이블 이름 (tbl_authordescription)과 열 이름 (ad_authorname)은 50 번 이상 체크 했으므로 정확합니다.

$bd_author = 'Piyush Sood'; 

$checkauthorquery = "SELECT * FROM tbl_authordescription WHERE ad_authorname = $bd_author"; 
$Recordset1 = mysql_query($checkauthorquery, $connection_psfriend) or die(mysql_error()); 

if($Recordset1){ 
    echo 'The author exists.'; 
} 
+3

따옴표가 누락 된 것 같습니다. –

+0

@DanBracuk 어디서? –

+0

텍스트 필드는 따옴표로 묶어 비교해야합니다. – PiLHA

답변

5

쿼리의 저자 이름이 캡슐화되지 않았습니다. 그 주위에 작은 따옴표를 추가하십시오.

$checkauthorquery = "SELECT * FROM tbl_authordescription WHERE ad_authorname = '$bd_author'"; 

더 나은 아직 체크 아웃 prepared statements.

+0

내 문제를 해결해 주셔서 감사합니다. 그러나 일부 문은 이러한 따옴표없이 작동합니다. 왜 그런가요? –

+0

문자열과 같은 데이터를 데이터베이스에 저장할 때 공백과 같은 특수 문자가 해석되고 다음 단어가 명령으로 읽혀집니다. 이것은 기본 SQL 삽입이 작동하는 방법이기도합니다. 따옴표를 추가하면 엔진에 명시 적 값을 보내면 저장되고 해석되지 않습니다. 정수, 실수 또는 표현식 값을 저장하는 경우 환경에 상관없이 따옴표를 사용할 필요가 없습니다. 새 코드로 작업하는 경우 문제를 해결하고 준비된 문으로 전환하십시오. PDO 또는 mysqli. – phpisuber01

+0

확인 많이 thnks .. –

관련 문제