2014-01-31 4 views
0

다른 테이블의 select 문의 결과를 다른 테이블에 삽입하려고합니다. select 문은 작동하지만 insert 문은 작동하지 않습니다. 도와주세요.데이터를 가져 와서 테이블에 삽입 할 때 쿼리가 작동하지 않습니다.

$query="SELECT * FROM subject WHERE sub_code = '$enrol' "; 
$result = mysql_query($query); 

while($row = mysql_fetch_array($result)) { 
    $csubject=$row['sub_name']; 
    $cday=$row['sub_day']; 
    $ctime=$row['sub_time']; 

    echo "<strong>". $csubject . "</strong>"; 
} 

$query = mysql_query("INSERT INTO client (client_csub_code,client_csub_name,client_csub_day,client_csub_time) VALUES ('$enrol','$csubject','$cday','$ctime')"); 

header("Location:homeclient.php"); 
?> 
+1

"작동하지 않음"을 정의하십시오. 작동하지 않는 것은 무엇입니까? 어디에? – fedorqui

+1

이러한 쿼리를 결합 할 수 –

+0

삽입 문이 작동하지 않습니다. 어떻게 결합 할 수 있습니까? – user3218994

답변

0

이러한 두 가지 작업을 하나의 쿼리로 수행하는 방법을 묻는 메시지가 표시됩니다.

$query = mysql_query("INSERT INTO `client` (`client_csub_code`, `client_csub_name`, `client_csub_day`, `client_csub_time`) SELECT `sub_code`, `sub_name`, `sub_day`, `sub_time` FROM `subject` WHERE `code` = '$enrol'"); 

// I would also add error checking 
if (mysql_errno()) 
    echo mysql_error(); 
0
$query="SELECT * FROM subject WHERE sub_code = '$enrol' "; 
$result = mysql_query($query); 

while($row = mysql_fetch_array($result)) { 
    $csubject=$row['sub_name']; 
    $cday=$row['sub_day']; 
    $ctime=$row['sub_time']; 

    echo "<strong>". $csubject . "</strong>"; 
    $query = mysql_query("INSERT INTO client (client_csub_code,client_csub_name,client_csub_day,client_csub_time) VALUES ('$enrol','$csubject','$cday','$ctime')"); 
} 
header("Location:homeclient.php"); 
?> 

이로 변경 시도 :

이는 방법이다. 현재 귀하의 질의는 귀하가하지 않은 동안 한 번만 실행되며 $ csubject 등의 값은 항상 가져온 결과의 마지막 값이됩니다.

+0

루프에 삽입 쿼리를 넣으려고합니다 ... 정말로 요? – bastienbot

관련 문제