2010-12-26 4 views
0

코드 :MySQL의 실제 이스케이프 문자열 오류가

mysql_query("INSERT INTO Account(User, 
Pw, email) 
VALUES('mysql_real_escape_string($_POST[user])', 
'$pw','mysql_real_escape_string($_POST[email]) 
) ") or die(mysql_error()); 

오류 :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''mysql_real_escape_string(123))' at line 1

문제는 당신이 PHP 명령을 인용하고 있다는, 그래서는 결코 전달되지됩니다

답변

3

도와주세요 PHP

시도해보십시오.

하지만 $의 _POST [사용자] 사용자가 일정 정의가없는 경우 전화도 그래서 아마 실패 할 수 있습니다 이것이

mysql_query("INSERT INTO Account(User, Pw, email) VALUES('".mysql_real_escape_string($_POST['user'])."', '$pw','".mysql_real_escape_string($_POST['email'])."') ") or die(mysql_error()); 
+0

은 달리 말하면 이것은 MySQL을 전달지고 쿼리입니다 ','mysql_real_escape_string ($ _ POST [email])) ... ... 그리고 그것은 유효한 MySQL 쿼리가 아닙니다 (PHP 함수를 포함하고 있습니다). 이 대답은 문제를 해결합니다. 나는 궁금하지만, $ pw도 이스케이프해야합니까? – TehShrike

0

한 줄에 모든 코드를 물건을 안하려고합니다.
추가 운영자 한 명당 지불 할 필요가 없습니다. 뚜렷하게 기록하십시오. `계정에 INSERT (사용자, Pw를, 이메일) VALUES ('는 mysql_real_escape_string ($ _ POST [사용자])', '$ PW : -

$user = mysql_real_escape_string($_POST['user']); 
$email = mysql_real_escape_string($_POST['email']); 
$pw = mysql_real_escape_string($pw); 

$query = "INSERT INTO Account(User,Pw, email) VALUES ('$user','$pw','$email')"; 
mysql_query($query) or trigger_error(mysql_error().$query); 
관련 문제