2013-01-23 3 views
-2

데이터를 업데이트 할 때, 어떻게 삽입 비교하는 자식 테이블의 행을 삭제 한 후 행을 삽입 결과MySQL의 쿼리는 잘못된 출력

당신이 테이블 이름을 놓친
$sql=mysql_query("INSERT INTO (stu_no,username,maths,english,telugu,id) VALUES 
     ('".$_POST['stu_no']."','".$_POST['username']."','".$_POST['maths']."', 
     '".$_POST['english']."',)'".$_POST['teslugu']."','".$_GET['id']."')"; 
+3

질문을 더 쉽게 이해할 수 있도록 다시 쓸 수 있습니까? –

+0

방아쇠가 필요합니까? –

+0

수 디르의 대답을보십시오. 그는 그것을 올바르게 얻었다. INSERT INTO 뒤에 테이블 이름이 없습니다. – JakeGould

답변

2

이렇게 :

mysql_query("INSERT INTO table_name_here (stu_no,username.. 

추가 :

$sql=mysql_query("INSERT INTO (stu_no,username,maths,english,telugu,id) VALUES 
     ('".$_POST['stu_no']."','".$_POST['username']."','".$_POST['maths']."', 
     '".$_POST['english']."','".$_POST['teslugu']."','".$_GET['id']."')"); 
+0

테이블 이름을 언급하지만 두 번 삽입 된 행 – johndavid

+0

@david는 일부 루프 안에 삽입 쿼리입니다. 그렇지 않으면이 정확한 쿼리는 삽입 된 데이터가 두 번 삽입되는 코드가 없기 때문에 데이터를 한 번만 삽입해야합니다 ...! –

+0

하나의 괄호가 잘못 배치되었으므로 올바른 설명이 추가되었습니다. 그리고 'id'가 자동 증가 필드 인 경우 삽입 쿼리에 추가 할 필요가 없습니다. –

0

@Sudhir 잘, 당신은 테이블 이름을 놓쳤다. 또한 mysql 문에서 $ _POST 값을 직접 사용하지 마십시오. 당신은 또한 형식의 쿼리 문자열과 같은,

mysql_query("INSERT INTO `table` (`stu_no`,`username`,`maths`,`english`,`telugu`, `id`) 
VALUES ('{$_POST['stu_no']}','{$_POST['username']}','{$_POST['maths']}', 
'{$_POST['english']}','{$_POST['telugu']}','{$_GET['id']}')); 
0

희망이 작동 할 수있는 다음 여러 번 열고 닫는 큰 따옴표하지 않으려면 당신은, 사용하는

$username = mysql_real_escape_string($_POST['username']); 

한 가지 더있다 너를 위해서.

$sql=mysql_query("INSERT INTO table (`stu_no`,`username`,`maths`,`english`,`telugu`,`id`) VALUES 
    ('$_POST['stu_no']','$_POST['username']','$_POST['maths']', 
    '$_POST['english']','$_POST['teslugu']','$_GET['id']')");