2011-03-29 2 views
1

내 코드는 양식에서 게시 된 값을 표에 삽입하는 코드입니다. 코드 :PHP 코드로 외래 키 필드에 값을 삽입하려면 어떻게해야합니까?

1 $email1 = $_POST['txtemail']; 
    2  $user1 = $_POST['txtuser']; 
    3  $date1 = $_POST['txtdate']; 
    4  $subject1 = $_POST['txtsubject']; 
    5  $percent = $_POST['txtpercent']; 
    6  $percent1 = (string) $percent; 
    7  $query = "insert into personal_record values '','$email1','$user1','$date1','$subject1','$percent1'"; 
    8  $result = mysql_query($query,$link); 

이 내 코드이며 오류 제공합니다

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 ''','[email protected]','Jugal','29 Mar 2011 13:28:42','jquery','40'' at line 1

최대한 빨리 제발 도와주세요 ...! 도와주세요.

+2

을 : 값 주위에 괄호를 배치 시작할 수 있습니다 그것은'VALUES (.....) 할 필요가' –

+0

또한, 귀하의 코드에 취약 [SQL 주입 (HTTP ://stackoverflow.com/questions/601300/what-is-sql-injection). –

답변

2

할 필요가 :

insert into personal_record 
values ('','[email protected]','Jugal','29 Mar 2011 13:28:42','jquery','40') 


그리고 idenote, 당신은 반드시 mysql_real_escape_string()을 사용하여 데이터를 탈출해야합니다, SQL Injections을 방지하기 위해! 비율이 문자열입니다

  • 당신에게 확신 :

    $email1_safe = mysql_real_escape_string($_POST['txtemail']); 
    $user1_safe = mysql_real_escape_string($_POST['txtuser']); 
    $date1_safe = mysql_real_escape_string($_POST['txtdate']); 
    $subject1_safe = mysql_real_escape_string($_POST['txtsubject']); 
    $percent_safe = mysql_real_escape_string($_POST['txtpercent']); 
    $percent1_safe = mysql_real_escape_string((string) $percent); 
    $query = "insert into personal_record values ('','$email1_safe','$user1_safe','$date1_safe','$subject1_safe','$percent1_safe')"; 
    $result = mysql_query($query,$link); 
    


    추가 참고 :

    그래서 여기, 당신은 아마 조금 같을 것이다 뭔가 끝장 귀하의 데이터베이스에? 그렇지 않은 경우, 필요 방금 확인하기 위해, 정수 또는 당신은 또한 삽입 쿼리의 열 - 이름 목록을 지정해야합니다

  • 진수/플로트를 사용하여 문자열로 전달 없습니다
+0

Thnks mate ...! varchar 데이터 유형입니다! 어쨌든 나를 기억해 주셔서 감사합니다. –

+0

오신 것을 환영합니다 :-) 재미있게 보내세요! –

+0

또한 PHP에서 한 페이지에 두 번 쿼리를 실행할 수 없습니다. 그게 뭔지 알 겠어? –

1

변화 쿼리 VAR : @Pekka의 제안에 따라

$query = "insert into personal_record values 
      ('','$email1','$user1','$date1','$subject1','$percent1');"; 

: 당신은 괄호를 누락
: 그것은 당신이 값 목록을 arround 괄호가 필요 VALUES (.....)

+0

고맙습니다 ...! –

+0

아하 하아, 알았어 .. – Neal

0

당신을 당신은 괄호를 누락

"insert into personal_record values ('','$email1','$user1','$date1','$subject1','$percent1')" 
+0

고마운 친구. ..! –

관련 문제